Skip to content

Commit

Permalink
leds: simple_strtoul() cleanup
Browse files Browse the repository at this point in the history
led-class.c and ledtrig-timer.c still use simple_strtoul().  Change them
to use kstrtoul() instead of obsolete simple_strtoul().

Also fix the existing int ret declaration to be ssize_t to match the
return type for _store functions in ledtrig-timer.c.

Signed-off-by: Shuah Khan <shuahkhan@gmail.com>
Cc: Joe Perches <joe@perches.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Bryan Wu <bryan.wu@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Shuah Khan authored and Linus Torvalds committed May 29, 2012
1 parent 5ba7363 commit 872b86b
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 41 deletions.
21 changes: 8 additions & 13 deletions drivers/leds/led-class.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,23 +44,18 @@ static ssize_t led_brightness_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t size)
{
struct led_classdev *led_cdev = dev_get_drvdata(dev);
unsigned long state;
ssize_t ret = -EINVAL;
char *after;
unsigned long state = simple_strtoul(buf, &after, 10);
size_t count = after - buf;

if (isspace(*after))
count++;
ret = kstrtoul(buf, 10, &state);
if (ret)
return ret;

if (count == size) {
ret = count;
if (state == LED_OFF)
led_trigger_remove(led_cdev);
led_set_brightness(led_cdev, state);

if (state == LED_OFF)
led_trigger_remove(led_cdev);
led_set_brightness(led_cdev, state);
}

return ret;
return size;
}

static ssize_t led_max_brightness_show(struct device *dev,
Expand Down
48 changes: 20 additions & 28 deletions drivers/leds/ledtrig-timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,21 +31,17 @@ static ssize_t led_delay_on_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t size)
{
struct led_classdev *led_cdev = dev_get_drvdata(dev);
int ret = -EINVAL;
char *after;
unsigned long state = simple_strtoul(buf, &after, 10);
size_t count = after - buf;

if (isspace(*after))
count++;

if (count == size) {
led_blink_set(led_cdev, &state, &led_cdev->blink_delay_off);
led_cdev->blink_delay_on = state;
ret = count;
}
unsigned long state;
ssize_t ret = -EINVAL;

ret = kstrtoul(buf, 10, &state);
if (ret)
return ret;

led_blink_set(led_cdev, &state, &led_cdev->blink_delay_off);
led_cdev->blink_delay_on = state;

return ret;
return size;
}

static ssize_t led_delay_off_show(struct device *dev,
Expand All @@ -60,21 +56,17 @@ static ssize_t led_delay_off_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t size)
{
struct led_classdev *led_cdev = dev_get_drvdata(dev);
int ret = -EINVAL;
char *after;
unsigned long state = simple_strtoul(buf, &after, 10);
size_t count = after - buf;

if (isspace(*after))
count++;

if (count == size) {
led_blink_set(led_cdev, &led_cdev->blink_delay_on, &state);
led_cdev->blink_delay_off = state;
ret = count;
}
unsigned long state;
ssize_t ret = -EINVAL;

ret = kstrtoul(buf, 10, &state);
if (ret)
return ret;

led_blink_set(led_cdev, &led_cdev->blink_delay_on, &state);
led_cdev->blink_delay_off = state;

return ret;
return size;
}

static DEVICE_ATTR(delay_on, 0644, led_delay_on_show, led_delay_on_store);
Expand Down

0 comments on commit 872b86b

Please sign in to comment.