]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/b43/leds.h
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / b43 / leds.h
index d94851d291c0696e2f21a913edddae313d61c196..b8b1dd5212434d1afda597c4ab1d5624ee9dcfbe 100644 (file)
@@ -1,29 +1,33 @@
 #ifndef B43_LEDS_H_
 #define B43_LEDS_H_
 
+struct b43_wldev;
+
+#ifdef CONFIG_B43_LEDS
+
 #include <linux/types.h>
-#include <linux/timer.h>
+#include <linux/leds.h>
+
+
+#define B43_LED_MAX_NAME_LEN   31
 
 struct b43_led {
-       u8 behaviour;
-       bool activelow;
-       /* Index in the "leds" array in b43_wldev */
-       u8 index;
        struct b43_wldev *dev;
-       struct timer_list blink_timer;
-       unsigned long blink_interval;
+       /* The LED class device */
+       struct led_classdev led_dev;
+       /* The index number of the LED. */
+       u8 index;
+       /* If activelow is true, the LED is ON if the
+        * bit is switched off. */
+       bool activelow;
+       /* The unique name string for this LED device. */
+       char name[B43_LED_MAX_NAME_LEN + 1];
 };
 
-/* Delay between state changes when blinking in jiffies */
-#define B43_LEDBLINK_SLOW              (HZ / 1)
-#define B43_LEDBLINK_MEDIUM            (HZ / 4)
-#define B43_LEDBLINK_FAST              (HZ / 8)
-
-#define B43_LED_XFER_THRES             (HZ / 100)
-
 #define B43_LED_BEHAVIOUR              0x7F
 #define B43_LED_ACTIVELOW              0x80
-enum {                         /* LED behaviour values */
+/* LED behaviour values */
+enum b43_led_behaviour {
        B43_LED_OFF,
        B43_LED_ON,
        B43_LED_ACTIVITY,
@@ -36,20 +40,25 @@ enum {                              /* LED behaviour values */
        B43_LED_WEIRD,          //FIXME
        B43_LED_ASSOC,
        B43_LED_INACTIVE,
-
-       /* Behaviour values for testing.
-        * With these values it is easier to figure out
-        * the real behaviour of leds, in case the SPROM
-        * is missing information.
-        */
-       B43_LED_TEST_BLINKSLOW,
-       B43_LED_TEST_BLINKMEDIUM,
-       B43_LED_TEST_BLINKFAST,
 };
 
-int b43_leds_init(struct b43_wldev *dev);
+void b43_leds_init(struct b43_wldev *dev);
 void b43_leds_exit(struct b43_wldev *dev);
-void b43_leds_update(struct b43_wldev *dev, int activity);
-void b43_leds_switch_all(struct b43_wldev *dev, int on);
+
+
+#else /* CONFIG_B43_LEDS */
+/* LED support disabled */
+
+struct b43_led {
+       /* empty */
+};
+
+static inline void b43_leds_init(struct b43_wldev *dev)
+{
+}
+static inline void b43_leds_exit(struct b43_wldev *dev)
+{
+}
+#endif /* CONFIG_B43_LEDS */
 
 #endif /* B43_LEDS_H_ */