OpenWrt – Rev 1

Subversion Repositories:
Rev:
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -55,13 +55,17 @@ static void gpio_led_set(struct led_clas
                container_of(led_cdev, struct gpio_led_data, cdev);
        int level;
 
-       if (value == LED_OFF)
-               level = 0;
-       else
-               level = 1;
-
-       if (led_dat->active_low)
-               level = !level;
+       switch (value) {
+       case LED_OFF:
+               level = led_dat->active_low ? 1 : 0;
+               break;
+       case LED_FULL:
+               level = led_dat->active_low ? 0 : 1;
+               break;
+       default:
+               level = value;
+               break;
+       }
 
        /* Setting GPIOs with I2C/etc requires a task context, and we don't
         * seem to have a reliable way to know if we're already in one; so