X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=drivers%2Fleds%2Fleds.h;h=5edbf52c4fa7e6834e9125855bd4c1801e2c2809;hb=81ec5364a58c0545b694dee02fe65b9ae48f37b6;hp=d26ca2f7e72274c823dc44fe87d74eb4a178ad44;hpb=c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0;p=safe%2Fjmp%2Flinux-2.6 diff --git a/drivers/leds/leds.h b/drivers/leds/leds.h index d26ca2f..5edbf52 100644 --- a/drivers/leds/leds.h +++ b/drivers/leds/leds.h @@ -13,6 +13,8 @@ #ifndef __LEDS_H_INCLUDED #define __LEDS_H_INCLUDED +#include +#include #include static inline void led_set_brightness(struct led_classdev *led_cdev, @@ -25,7 +27,28 @@ static inline void led_set_brightness(struct led_classdev *led_cdev, led_cdev->brightness_set(led_cdev, value); } -extern rwlock_t leds_list_lock; +static inline int led_get_brightness(struct led_classdev *led_cdev) +{ + return led_cdev->brightness; +} + +extern struct rw_semaphore leds_list_lock; extern struct list_head leds_list; +#ifdef CONFIG_LEDS_TRIGGERS +void led_trigger_set_default(struct led_classdev *led_cdev); +void led_trigger_set(struct led_classdev *led_cdev, + struct led_trigger *trigger); +void led_trigger_remove(struct led_classdev *led_cdev); +#else +#define led_trigger_set_default(x) do {} while (0) +#define led_trigger_set(x, y) do {} while (0) +#define led_trigger_remove(x) do {} while (0) +#endif + +ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr, + const char *buf, size_t count); +ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr, + char *buf); + #endif /* __LEDS_H_INCLUDED */