LED: make triggers track their state
[pandora-kernel.git] / drivers / leds / led-triggers.c
index 6f1ff93..94aeeca 100644 (file)
@@ -122,6 +122,8 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
                led_cdev->trigger = trigger;
                if (trigger->activate)
                        trigger->activate(led_cdev);
+               else
+                       led_set_brightness(led_cdev, trigger->prev_brightness);
        }
 }
 EXPORT_SYMBOL_GPL(led_trigger_set);
@@ -227,6 +229,7 @@ void led_trigger_event(struct led_trigger *trigger,
                led_cdev = list_entry(entry, struct led_classdev, trig_list);
                led_set_brightness(led_cdev, brightness);
        }
+       trigger->prev_brightness = brightness;
        read_unlock(&trigger->leddev_list_lock);
 }
 EXPORT_SYMBOL_GPL(led_trigger_event);