1#ifndef B43legacy_LEDS_H_
2#define B43legacy_LEDS_H_
3
4struct 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
14struct 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 */
30enum 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
45void b43legacy_leds_init(struct b43legacy_wldev *dev);
46void b43legacy_leds_exit(struct b43legacy_wldev *dev);
47
48#else /* CONFIG_B43LEGACY_LEDS */
49/* LED support disabled */
50
51struct b43legacy_led {
52	/* empty */
53};
54
55static inline void b43legacy_leds_init(struct b43legacy_wldev *dev)
56{
57}
58static inline void b43legacy_leds_exit(struct b43legacy_wldev *dev)
59{
60}
61#endif /* CONFIG_B43LEGACY_LEDS */
62
63#endif /* B43legacy_LEDS_H_ */
64