diff options
Diffstat (limited to 'drivers/net/wireless/bcm43xx/bcm43xx_leds.h')
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_leds.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_leds.h b/drivers/net/wireless/bcm43xx/bcm43xx_leds.h new file mode 100644 index 000000000000..489a2b1e9068 --- /dev/null +++ b/drivers/net/wireless/bcm43xx/bcm43xx_leds.h | |||
@@ -0,0 +1,47 @@ | |||
1 | #ifndef BCM43xx_LEDS_H_ | ||
2 | #define BCM43xx_LEDS_H_ | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | #include <linux/timer.h> | ||
6 | |||
7 | |||
8 | struct bcm43xx_led { | ||
9 | u8 behaviour:7; | ||
10 | u8 activelow:1; | ||
11 | |||
12 | struct bcm43xx_private *bcm; | ||
13 | struct timer_list blink_timer; | ||
14 | unsigned long blink_interval; | ||
15 | }; | ||
16 | #define bcm43xx_led_index(led) ((int)((led) - (led)->bcm->leds)) | ||
17 | |||
18 | /* Delay between state changes when blinking in jiffies */ | ||
19 | #define BCM43xx_LEDBLINK_SLOW (HZ / 2) | ||
20 | #define BCM43xx_LEDBLINK_MEDIUM (HZ / 4) | ||
21 | #define BCM43xx_LEDBLINK_FAST (HZ / 8) | ||
22 | |||
23 | #define BCM43xx_LED_XFER_THRES (HZ / 100) | ||
24 | |||
25 | #define BCM43xx_LED_BEHAVIOUR 0x7F | ||
26 | #define BCM43xx_LED_ACTIVELOW 0x80 | ||
27 | enum { /* LED behaviour values */ | ||
28 | BCM43xx_LED_OFF, | ||
29 | BCM43xx_LED_ON, | ||
30 | BCM43xx_LED_ACTIVITY, | ||
31 | BCM43xx_LED_RADIO_ALL, | ||
32 | BCM43xx_LED_RADIO_A, | ||
33 | BCM43xx_LED_RADIO_B, | ||
34 | BCM43xx_LED_MODE_BG, | ||
35 | BCM43xx_LED_TRANSFER, | ||
36 | BCM43xx_LED_APTRANSFER, | ||
37 | BCM43xx_LED_WEIRD,//FIXME | ||
38 | BCM43xx_LED_ASSOC, | ||
39 | BCM43xx_LED_INACTIVE, | ||
40 | }; | ||
41 | |||
42 | int bcm43xx_leds_init(struct bcm43xx_private *bcm); | ||
43 | void bcm43xx_leds_exit(struct bcm43xx_private *bcm); | ||
44 | void bcm43xx_leds_update(struct bcm43xx_private *bcm, int activity); | ||
45 | void bcm43xx_leds_turn_off(struct bcm43xx_private *bcm); | ||
46 | |||
47 | #endif /* BCM43xx_LEDS_H_ */ | ||