leds: simple_strtoul() cleanup
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>
This commit is contained in:
parent
5ba736311b
commit
872b86be0a
@ -44,23 +44,18 @@ static ssize_t led_brightness_store(struct device *dev,
|
|||||||
struct device_attribute *attr, const char *buf, size_t size)
|
struct device_attribute *attr, const char *buf, size_t size)
|
||||||
{
|
{
|
||||||
struct led_classdev *led_cdev = dev_get_drvdata(dev);
|
struct led_classdev *led_cdev = dev_get_drvdata(dev);
|
||||||
|
unsigned long state;
|
||||||
ssize_t ret = -EINVAL;
|
ssize_t ret = -EINVAL;
|
||||||
char *after;
|
|
||||||
unsigned long state = simple_strtoul(buf, &after, 10);
|
|
||||||
size_t count = after - buf;
|
|
||||||
|
|
||||||
if (isspace(*after))
|
ret = kstrtoul(buf, 10, &state);
|
||||||
count++;
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
if (count == size) {
|
if (state == LED_OFF)
|
||||||
ret = count;
|
led_trigger_remove(led_cdev);
|
||||||
|
led_set_brightness(led_cdev, state);
|
||||||
|
|
||||||
if (state == LED_OFF)
|
return size;
|
||||||
led_trigger_remove(led_cdev);
|
|
||||||
led_set_brightness(led_cdev, state);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t led_max_brightness_show(struct device *dev,
|
static ssize_t led_max_brightness_show(struct device *dev,
|
||||||
|
@ -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 device_attribute *attr, const char *buf, size_t size)
|
||||||
{
|
{
|
||||||
struct led_classdev *led_cdev = dev_get_drvdata(dev);
|
struct led_classdev *led_cdev = dev_get_drvdata(dev);
|
||||||
int ret = -EINVAL;
|
unsigned long state;
|
||||||
char *after;
|
ssize_t ret = -EINVAL;
|
||||||
unsigned long state = simple_strtoul(buf, &after, 10);
|
|
||||||
size_t count = after - buf;
|
|
||||||
|
|
||||||
if (isspace(*after))
|
ret = kstrtoul(buf, 10, &state);
|
||||||
count++;
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
if (count == size) {
|
led_blink_set(led_cdev, &state, &led_cdev->blink_delay_off);
|
||||||
led_blink_set(led_cdev, &state, &led_cdev->blink_delay_off);
|
led_cdev->blink_delay_on = state;
|
||||||
led_cdev->blink_delay_on = state;
|
|
||||||
ret = count;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t led_delay_off_show(struct device *dev,
|
static ssize_t led_delay_off_show(struct device *dev,
|
||||||
@ -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 device_attribute *attr, const char *buf, size_t size)
|
||||||
{
|
{
|
||||||
struct led_classdev *led_cdev = dev_get_drvdata(dev);
|
struct led_classdev *led_cdev = dev_get_drvdata(dev);
|
||||||
int ret = -EINVAL;
|
unsigned long state;
|
||||||
char *after;
|
ssize_t ret = -EINVAL;
|
||||||
unsigned long state = simple_strtoul(buf, &after, 10);
|
|
||||||
size_t count = after - buf;
|
|
||||||
|
|
||||||
if (isspace(*after))
|
ret = kstrtoul(buf, 10, &state);
|
||||||
count++;
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
if (count == size) {
|
led_blink_set(led_cdev, &led_cdev->blink_delay_on, &state);
|
||||||
led_blink_set(led_cdev, &led_cdev->blink_delay_on, &state);
|
led_cdev->blink_delay_off = state;
|
||||||
led_cdev->blink_delay_off = state;
|
|
||||||
ret = count;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(delay_on, 0644, led_delay_on_show, led_delay_on_store);
|
static DEVICE_ATTR(delay_on, 0644, led_delay_on_show, led_delay_on_store);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user