leds: add new field to led_classdev struct to save activation state
authorShuah Khan <shuahkhan@gmail.com>
Tue, 29 May 2012 22:07:27 +0000 (15:07 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 May 2012 23:22:31 +0000 (16:22 -0700)
Add a new field to led_classdev to save activattion state after activate
routine is successful.  This saved state is used in deactivate routine to
do cleanup such as removing device files, and free memory allocated during
activation.  Currently trigger_data not being null is used for this
purpose.

Existing triggers will need changes to use this new field.

Signed-off-by: Shuah Khan <shuahkhan@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Bryan Wu <bryan.wu@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/leds.h

index 5884def..39eee41 100644 (file)
@@ -73,6 +73,8 @@ struct led_classdev {
        struct led_trigger      *trigger;
        struct list_head         trig_list;
        void                    *trigger_data;
+       /* true if activated - deactivate routine uses it to do cleanup */
+       bool                    activated;
 #endif
 };