diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2007-10-13 06:04:51 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-29 00:03:26 +0100 |
commit | ba48f7bb8062982ec916868cc8c90360aad82e53 (patch) | |
tree | 9f19ae7146c895d09b01ef7d1bbec0d44666c0bf /drivers/net/wireless/b43legacy/leds.h | |
parent | iwlwifi: cleanup Kconfig and ifdefs to split 3945 and 4965 (diff) | |
download | linux-ba48f7bb8062982ec916868cc8c90360aad82e53.tar.xz linux-ba48f7bb8062982ec916868cc8c90360aad82e53.zip |
b43legacy: LED triggers support
Drive the LEDs through the generic LED triggers.
The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to b43legacy.
Signed-off-by: Larry Finger <larry.finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43legacy/leds.h')
-rw-r--r-- | drivers/net/wireless/b43legacy/leds.h | 61 |
1 files changed, 34 insertions, 27 deletions
diff --git a/drivers/net/wireless/b43legacy/leds.h b/drivers/net/wireless/b43legacy/leds.h index b989f503e684..82167a90088f 100644 --- a/drivers/net/wireless/b43legacy/leds.h +++ b/drivers/net/wireless/b43legacy/leds.h @@ -1,30 +1,33 @@ #ifndef B43legacy_LEDS_H_ #define B43legacy_LEDS_H_ +struct b43legacy_wldev; + +#ifdef CONFIG_B43LEGACY_LEDS + #include <linux/types.h> -#include <linux/timer.h> +#include <linux/leds.h> +#define B43legacy_LED_MAX_NAME_LEN 31 + struct b43legacy_led { - u8 behaviour; - bool activelow; - /* Index in the "leds" array in b43legacy_wldev */ - u8 index; struct b43legacy_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[B43legacy_LED_MAX_NAME_LEN + 1]; }; -/* Delay between state changes when blinking in jiffies */ -#define B43legacy_LEDBLINK_SLOW (HZ / 1) -#define B43legacy_LEDBLINK_MEDIUM (HZ / 4) -#define B43legacy_LEDBLINK_FAST (HZ / 8) - -#define B43legacy_LED_XFER_THRES (HZ / 100) - #define B43legacy_LED_BEHAVIOUR 0x7F #define B43legacy_LED_ACTIVELOW 0x80 -enum { /* LED behaviour values */ +/* LED behaviour values */ +enum b43legacy_led_behaviour { B43legacy_LED_OFF, B43legacy_LED_ON, B43legacy_LED_ACTIVITY, @@ -37,20 +40,24 @@ enum { /* LED behaviour values */ B43legacy_LED_WEIRD, B43legacy_LED_ASSOC, B43legacy_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. - */ - B43legacy_LED_TEST_BLINKSLOW, - B43legacy_LED_TEST_BLINKMEDIUM, - B43legacy_LED_TEST_BLINKFAST, }; -int b43legacy_leds_init(struct b43legacy_wldev *dev); +void b43legacy_leds_init(struct b43legacy_wldev *dev); void b43legacy_leds_exit(struct b43legacy_wldev *dev); -void b43legacy_leds_update(struct b43legacy_wldev *dev, int activity); -void b43legacy_leds_switch_all(struct b43legacy_wldev *dev, int on); + +#else /* CONFIG_B43EGACY_LEDS */ +/* LED support disabled */ + +struct b43legacy_led { + /* empty */ +}; + +static inline void b43legacy_leds_init(struct b43legacy_wldev *dev) +{ +} +static inline void b43legacy_leds_exit(struct b43legacy_wldev *dev) +{ +} +#endif /* CONFIG_B43LEGACY_LEDS */ #endif /* B43legacy_LEDS_H_ */ |