mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-20 08:38:24 +08:00
drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking
Replicate changes made to drivers/leds/ledtrig-backlight.c. Cc: Paul Mundt <lethal@linux-sh.org> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c1fc8675c9
commit
cc587ece12
@ -99,7 +99,7 @@ static ssize_t gpio_trig_inverted_show(struct device *dev,
|
||||
struct led_classdev *led = dev_get_drvdata(dev);
|
||||
struct gpio_trig_data *gpio_data = led->trigger_data;
|
||||
|
||||
return sprintf(buf, "%s\n", gpio_data->inverted ? "yes" : "no");
|
||||
return sprintf(buf, "%u\n", gpio_data->inverted);
|
||||
}
|
||||
|
||||
static ssize_t gpio_trig_inverted_store(struct device *dev,
|
||||
@ -107,16 +107,17 @@ static ssize_t gpio_trig_inverted_store(struct device *dev,
|
||||
{
|
||||
struct led_classdev *led = dev_get_drvdata(dev);
|
||||
struct gpio_trig_data *gpio_data = led->trigger_data;
|
||||
unsigned inverted;
|
||||
unsigned long inverted;
|
||||
int ret;
|
||||
|
||||
ret = sscanf(buf, "%u", &inverted);
|
||||
if (ret < 1) {
|
||||
dev_err(dev, "invalid value\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
ret = strict_strtoul(buf, 10, &inverted);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
gpio_data->inverted = !!inverted;
|
||||
if (inverted > 1)
|
||||
return -EINVAL;
|
||||
|
||||
gpio_data->inverted = inverted;
|
||||
|
||||
/* After inverting, we need to update the LED. */
|
||||
schedule_work(&gpio_data->work);
|
||||
|
Loading…
Reference in New Issue
Block a user