]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/leds.h
ssb: Convert to use of the new SPROM structure
[linux-2.6-omap-h63xx.git] / include / linux / leds.h
index dc23c7c639f321f9bbb857d2176130c3316c4489..b4130ff58d0c1be1543c21281e7189a7383834a5 100644 (file)
 #ifndef __LINUX_LEDS_H_INCLUDED
 #define __LINUX_LEDS_H_INCLUDED
 
+#include <linux/list.h>
+#include <linux/spinlock.h>
+#include <linux/rwsem.h>
+
 struct device;
-struct class_device;
 /*
  * LED Core
  */
@@ -35,13 +38,13 @@ struct led_classdev {
        void            (*brightness_set)(struct led_classdev *led_cdev,
                                          enum led_brightness brightness);
 
-       struct class_device     *class_dev;
+       struct device           *dev;
        struct list_head         node;                  /* LED Device list */
        char                    *default_trigger;       /* Trigger to use */
 
 #ifdef CONFIG_LEDS_TRIGGERS
        /* Protects the trigger data below */
-       rwlock_t                 trigger_lock;
+       struct rw_semaphore      trigger_lock;
 
        struct led_trigger      *trigger;
        struct list_head         trig_list;
@@ -107,4 +110,18 @@ extern void ledtrig_ide_activity(void);
 #define ledtrig_ide_activity() do {} while(0)
 #endif
 
+/* For the leds-gpio driver */
+struct gpio_led {
+       const char *name;
+       char *default_trigger;
+       unsigned        gpio;
+       u8              active_low;
+};
+
+struct gpio_led_platform_data {
+       int             num_leds;
+       struct gpio_led *leds;
+};
+
+
 #endif         /* __LINUX_LEDS_H_INCLUDED */