summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThadeu Lima de Souza Cascardo2009-08-26 23:29:32 +0200
committerLinus Torvalds2009-08-27 05:06:53 +0200
commitcc674c81f01a6151ca00c617e5efa0812ee5fdbe (patch)
treee34948f103c0dc69cfdad69caead17eb184e9736
parentleds: fix multiple requests and releases of IRQ for GPIO LED Trigger (diff)
downloadkernel-qcow2-linux-cc674c81f01a6151ca00c617e5efa0812ee5fdbe.tar.gz
kernel-qcow2-linux-cc674c81f01a6151ca00c617e5efa0812ee5fdbe.tar.xz
kernel-qcow2-linux-cc674c81f01a6151ca00c617e5efa0812ee5fdbe.zip
leds: after setting inverted attribute, we must update the LED
If we change the inverted attribute to another value, the LED will not be inverted until we change the GPIO state. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Cc: Samuel R. C. Vale <srcvale@holoscopio.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/leds/ledtrig-gpio.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/leds/ledtrig-gpio.c b/drivers/leds/ledtrig-gpio.c
index 8183b81fca84..1bc5db4ece0d 100644
--- a/drivers/leds/ledtrig-gpio.c
+++ b/drivers/leds/ledtrig-gpio.c
@@ -117,6 +117,9 @@ static ssize_t gpio_trig_inverted_store(struct device *dev,
gpio_data->inverted = !!inverted;
+ /* After inverting, we need to update the LED. */
+ schedule_work(&gpio_data->work);
+
return n;
}
static DEVICE_ATTR(inverted, 0644, gpio_trig_inverted_show,