b43legacy: RF-kill support
[linux-2.6] / drivers / net / wireless / b43legacy / rfkill.h
1 #ifndef B43legacy_RFKILL_H_
2 #define B43legacy_RFKILL_H_
3
4 struct b43legacy_wldev;
5
6 #ifdef CONFIG_B43LEGACY_RFKILL
7
8 #include <linux/rfkill.h>
9 #include <linux/workqueue.h>
10
11
12 struct b43legacy_rfkill {
13         /* The RFKILL subsystem data structure */
14         struct rfkill *rfkill;
15         /* The unique name of this rfkill switch */
16         char name[32];
17         /* Workqueue for asynchronous notification. */
18         struct work_struct notify_work;
19 };
20
21 void b43legacy_rfkill_init(struct b43legacy_wldev *dev);
22 void b43legacy_rfkill_exit(struct b43legacy_wldev *dev);
23 void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev, bool on);
24 char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev);
25
26
27 #else /* CONFIG_B43LEGACY_RFKILL */
28 /* No RFKILL support. */
29
30 struct b43legacy_rfkill {
31         /* empty */
32 };
33
34 static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
35 {
36 }
37 static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
38 {
39 }
40 static inline void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev,
41                                             bool on)
42 {
43 }
44 static inline char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev)
45 {
46         return NULL;
47 }
48
49 #endif /* CONFIG_B43LEGACY_RFKILL */
50
51 #endif /* B43legacy_RFKILL_H_ */