Skip to content

Commit

Permalink
drivers/leds/ledtrig-gpio.c: make output match input, tighten input c…
Browse files Browse the repository at this point in the history
…hecking

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>
  • Loading branch information
Janusz Krzysztofik authored and Linus Torvalds committed Jan 21, 2011
1 parent c1fc867 commit cc587ec
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions drivers/leds/ledtrig-gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,24 +99,25 @@ 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,
struct device_attribute *attr, const char *buf, size_t n)
{
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");
ret = strict_strtoul(buf, 10, &inverted);
if (ret < 0)
return ret;

if (inverted > 1)
return -EINVAL;
}

gpio_data->inverted = !!inverted;
gpio_data->inverted = inverted;

/* After inverting, we need to update the LED. */
schedule_work(&gpio_data->work);
Expand Down

0 comments on commit cc587ec

Please sign in to comment.