diff options
Diffstat (limited to 'include/linux/leds.h')
| -rw-r--r-- | include/linux/leds.h | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/include/linux/leds.h b/include/linux/leds.h index 0d9b5eed714e..0287ab296689 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h | |||
| @@ -142,6 +142,10 @@ extern void led_set_brightness(struct led_classdev *led_cdev, | |||
| 142 | /* | 142 | /* |
| 143 | * LED Triggers | 143 | * LED Triggers |
| 144 | */ | 144 | */ |
| 145 | /* Registration functions for simple triggers */ | ||
| 146 | #define DEFINE_LED_TRIGGER(x) static struct led_trigger *x; | ||
| 147 | #define DEFINE_LED_TRIGGER_GLOBAL(x) struct led_trigger *x; | ||
| 148 | |||
| 145 | #ifdef CONFIG_LEDS_TRIGGERS | 149 | #ifdef CONFIG_LEDS_TRIGGERS |
| 146 | 150 | ||
| 147 | #define TRIG_NAME_MAX 50 | 151 | #define TRIG_NAME_MAX 50 |
| @@ -164,9 +168,6 @@ struct led_trigger { | |||
| 164 | extern int led_trigger_register(struct led_trigger *trigger); | 168 | extern int led_trigger_register(struct led_trigger *trigger); |
| 165 | extern void led_trigger_unregister(struct led_trigger *trigger); | 169 | extern void led_trigger_unregister(struct led_trigger *trigger); |
| 166 | 170 | ||
| 167 | /* Registration functions for simple triggers */ | ||
| 168 | #define DEFINE_LED_TRIGGER(x) static struct led_trigger *x; | ||
| 169 | #define DEFINE_LED_TRIGGER_GLOBAL(x) struct led_trigger *x; | ||
| 170 | extern void led_trigger_register_simple(const char *name, | 171 | extern void led_trigger_register_simple(const char *name, |
| 171 | struct led_trigger **trigger); | 172 | struct led_trigger **trigger); |
| 172 | extern void led_trigger_unregister_simple(struct led_trigger *trigger); | 173 | extern void led_trigger_unregister_simple(struct led_trigger *trigger); |
| @@ -199,20 +200,30 @@ extern void led_trigger_rename_static(const char *name, | |||
| 199 | 200 | ||
| 200 | #else | 201 | #else |
| 201 | 202 | ||
| 202 | /* Triggers aren't active - null macros */ | 203 | /* Trigger has no members */ |
| 203 | #define DEFINE_LED_TRIGGER(x) | 204 | struct led_trigger {}; |
| 204 | #define DEFINE_LED_TRIGGER_GLOBAL(x) | ||
| 205 | #define led_trigger_register_simple(x, y) do {} while(0) | ||
| 206 | #define led_trigger_unregister_simple(x) do {} while(0) | ||
| 207 | #define led_trigger_event(x, y) do {} while(0) | ||
| 208 | 205 | ||
| 209 | #endif | 206 | /* Trigger inline empty functions */ |
| 207 | static inline void led_trigger_register_simple(const char *name, | ||
| 208 | struct led_trigger **trigger) {} | ||
| 209 | static inline void led_trigger_unregister_simple(struct led_trigger *trigger) {} | ||
| 210 | static inline void led_trigger_event(struct led_trigger *trigger, | ||
| 211 | enum led_brightness event) {} | ||
| 212 | #endif /* CONFIG_LEDS_TRIGGERS */ | ||
| 210 | 213 | ||
| 211 | /* Trigger specific functions */ | 214 | /* Trigger specific functions */ |
| 212 | #ifdef CONFIG_LEDS_TRIGGER_IDE_DISK | 215 | #ifdef CONFIG_LEDS_TRIGGER_IDE_DISK |
| 213 | extern void ledtrig_ide_activity(void); | 216 | extern void ledtrig_ide_activity(void); |
| 214 | #else | 217 | #else |
| 215 | #define ledtrig_ide_activity() do {} while(0) | 218 | static inline void ledtrig_ide_activity(void) {} |
| 219 | #endif | ||
| 220 | |||
| 221 | #if defined(CONFIG_LEDS_TRIGGER_CAMERA) || defined(CONFIG_LEDS_TRIGGER_CAMERA_MODULE) | ||
| 222 | extern void ledtrig_flash_ctrl(bool on); | ||
| 223 | extern void ledtrig_torch_ctrl(bool on); | ||
| 224 | #else | ||
| 225 | static inline void ledtrig_flash_ctrl(bool on) {} | ||
| 226 | static inline void ledtrig_torch_ctrl(bool on) {} | ||
| 216 | #endif | 227 | #endif |
| 217 | 228 | ||
| 218 | /* | 229 | /* |
