]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
leds: trigger: gpio: Refresh LED state after GPIO change
authorJan Kiszka <jan.kiszka@siemens.com>
Fri, 26 May 2017 13:17:46 +0000 (15:17 +0200)
committerJacek Anaszewski <jacek.anaszewski@gmail.com>
Mon, 29 May 2017 19:55:04 +0000 (21:55 +0200)
The new GPIO may have a different state than the old one.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
drivers/leds/trigger/ledtrig-gpio.c

index 51288a45fbcb95ea68c0eba89c2e975b0c0dc8e0..93d6b82e64372a55cd0eb065b93cdcab20588adb 100644 (file)
@@ -170,6 +170,8 @@ static ssize_t gpio_trig_gpio_store(struct device *dev,
                if (gpio_data->gpio != 0)
                        free_irq(gpio_to_irq(gpio_data->gpio), led);
                gpio_data->gpio = gpio;
+               /* After changing the GPIO, we need to update the LED. */
+               schedule_work(&gpio_data->work);
        }
 
        return ret ? ret : n;