diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-06 15:41:42 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-06 15:41:42 -0700 |
| commit | 2b69703fea185bb0ae1af78ca2da41af677b9dff (patch) | |
| tree | 26b13044a0a20bed5525638d193e776f31f70af2 /include/linux/leds.h | |
| parent | 30c67e93c526639aaac90fa873800104b7c16d16 (diff) | |
| parent | df92d5ff5e70999274f53884cc2c40ae620a109a (diff) | |
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds
Pull LED subsystem updates from Bryan Wu:
- move LED trigger drivers into a new directory
- lp55xx common driver updates
- other led drivers updates and bug fixing
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
leds: leds-asic3: switch to using SIMPLE_DEV_PM_OPS
leds: leds-bd2802: add CONFIG_PM_SLEEP to suspend/resume functions
leds: lp55xx: configure the clock detection
leds: lp55xx: use common clock framework when external clock is used
leds: leds-ns2: fix oops at module removal
leds: leds-pwm: Defer led_pwm_set() if PWM can sleep
leds: lp55xx: fix the sysfs read operation
leds: lm355x, lm3642: support camera LED triggers for flash and torch
leds: add camera LED triggers
leds: trigger: use inline functions instead of macros
leds: tca6507: Use of_match_ptr() macro
leds: wm8350: Complain if we fail to reenable DCDC
leds: renesas: set gpio_request_one() flags param correctly
leds: leds-ns2: set devm_gpio_request_one() flags param correctly
leds: leds-lt3593: set devm_gpio_request_one() flags param correctly
leds: leds-bd2802: remove erroneous __exit annotation
leds: atmel-pwm: remove erroneous __exit annotation
leds: move LED trigger drivers into new subdirectory
leds: add new LP5562 LED driver
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, /* * LED Triggers */ +/* Registration functions for simple triggers */ +#define DEFINE_LED_TRIGGER(x) static struct led_trigger *x; +#define DEFINE_LED_TRIGGER_GLOBAL(x) struct led_trigger *x; + #ifdef CONFIG_LEDS_TRIGGERS #define TRIG_NAME_MAX 50 @@ -164,9 +168,6 @@ struct led_trigger { extern int led_trigger_register(struct led_trigger *trigger); extern void led_trigger_unregister(struct led_trigger *trigger); -/* Registration functions for simple triggers */ -#define DEFINE_LED_TRIGGER(x) static struct led_trigger *x; -#define DEFINE_LED_TRIGGER_GLOBAL(x) struct led_trigger *x; extern void led_trigger_register_simple(const char *name, struct led_trigger **trigger); extern void led_trigger_unregister_simple(struct led_trigger *trigger); @@ -199,20 +200,30 @@ extern void led_trigger_rename_static(const char *name, #else -/* Triggers aren't active - null macros */ -#define DEFINE_LED_TRIGGER(x) -#define DEFINE_LED_TRIGGER_GLOBAL(x) -#define led_trigger_register_simple(x, y) do {} while(0) -#define led_trigger_unregister_simple(x) do {} while(0) -#define led_trigger_event(x, y) do {} while(0) +/* Trigger has no members */ +struct led_trigger {}; -#endif +/* Trigger inline empty functions */ +static inline void led_trigger_register_simple(const char *name, + struct led_trigger **trigger) {} +static inline void led_trigger_unregister_simple(struct led_trigger *trigger) {} +static inline void led_trigger_event(struct led_trigger *trigger, + enum led_brightness event) {} +#endif /* CONFIG_LEDS_TRIGGERS */ /* Trigger specific functions */ #ifdef CONFIG_LEDS_TRIGGER_IDE_DISK extern void ledtrig_ide_activity(void); #else -#define ledtrig_ide_activity() do {} while(0) +static inline void ledtrig_ide_activity(void) {} +#endif + +#if defined(CONFIG_LEDS_TRIGGER_CAMERA) || defined(CONFIG_LEDS_TRIGGER_CAMERA_MODULE) +extern void ledtrig_flash_ctrl(bool on); +extern void ledtrig_torch_ctrl(bool on); +#else +static inline void ledtrig_flash_ctrl(bool on) {} +static inline void ledtrig_torch_ctrl(bool on) {} #endif /* |
