X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fleds%2Fleds.h;h=5edbf52c4fa7e6834e9125855bd4c1801e2c2809;hb=ccc751841567816532874afcaeb449dbf6ca7d3a;hp=a715c4ed93ff0b9cb9f6a219e723ac2d75bbb3f8;hpb=b3899c6613160b18f79e4356184de55311302fe4;p=linux-2.6 diff --git a/drivers/leds/leds.h b/drivers/leds/leds.h index a715c4ed93..5edbf52c4f 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,20 +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_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 class_device *dev, const char *buf, - size_t count); -ssize_t led_trigger_show(struct class_device *dev, char *buf); +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 */