aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/leds.h
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2007-09-27 15:31:40 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 16:54:11 -0700
commit21954c367e4088c491122edd263964345bc1d3bf (patch)
tree149faa19794ff6834c56f3af4501fe921880092e /drivers/net/wireless/b43/leds.h
parent[RFKILL]: Add support for hardware-only rfkill buttons (diff)
downloadlinux-dev-21954c367e4088c491122edd263964345bc1d3bf.tar.xz
linux-dev-21954c367e4088c491122edd263964345bc1d3bf.zip
[B43]: LED triggers support
Drive the LEDs through the generic LED triggers. Signed-off-by: Michael Buesch <mb@bu3sch.de> Cc: Larry Finger <larry.finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/b43/leds.h')
-rw-r--r--drivers/net/wireless/b43/leds.h63
1 files changed, 36 insertions, 27 deletions
diff --git a/drivers/net/wireless/b43/leds.h b/drivers/net/wireless/b43/leds.h
index d94851d291c0..b8b1dd521243 100644
--- a/drivers/net/wireless/b43/leds.h
+++ b/drivers/net/wireless/b43/leds.h
@@ -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_ */