diff options
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_ */ |