xref: /linux/drivers/net/wireless/broadcom/b43legacy/leds.h (revision f3539c12d8196ce0a1993364d30b3a18908470d1)
1 #ifndef B43legacy_LEDS_H_
2 #define B43legacy_LEDS_H_
3 
4 struct b43legacy_wldev;
5 
6 #ifdef CONFIG_B43LEGACY_LEDS
7 
8 #include <linux/types.h>
9 #include <linux/leds.h>
10 
11 
12 #define B43legacy_LED_MAX_NAME_LEN	31
13 
14 struct b43legacy_led {
15 	struct b43legacy_wldev *dev;
16 	/* The LED class device */
17 	struct led_classdev led_dev;
18 	/* The index number of the LED. */
19 	u8 index;
20 	/* If activelow is true, the LED is ON if the
21 	 * bit is switched off. */
22 	bool activelow;
23 	/* The unique name string for this LED device. */
24 	char name[B43legacy_LED_MAX_NAME_LEN + 1];
25 };
26 
27 #define B43legacy_LED_BEHAVIOUR		0x7F
28 #define B43legacy_LED_ACTIVELOW		0x80
29 /* LED behaviour values */
30 enum b43legacy_led_behaviour {
31 	B43legacy_LED_OFF,
32 	B43legacy_LED_ON,
33 	B43legacy_LED_ACTIVITY,
34 	B43legacy_LED_RADIO_ALL,
35 	B43legacy_LED_RADIO_A,
36 	B43legacy_LED_RADIO_B,
37 	B43legacy_LED_MODE_BG,
38 	B43legacy_LED_TRANSFER,
39 	B43legacy_LED_APTRANSFER,
40 	B43legacy_LED_WEIRD,
41 	B43legacy_LED_ASSOC,
42 	B43legacy_LED_INACTIVE,
43 };
44 
45 void b43legacy_leds_init(struct b43legacy_wldev *dev);
46 void b43legacy_leds_exit(struct b43legacy_wldev *dev);
47 
48 #else /* CONFIG_B43LEGACY_LEDS */
49 /* LED support disabled */
50 
51 struct b43legacy_led {
52 	/* empty */
53 };
54 
55 static inline void b43legacy_leds_init(struct b43legacy_wldev *dev)
56 {
57 }
58 static inline void b43legacy_leds_exit(struct b43legacy_wldev *dev)
59 {
60 }
61 #endif /* CONFIG_B43LEGACY_LEDS */
62 
63 #endif /* B43legacy_LEDS_H_ */
64