Merge branches 'topic/slob/cleanups', 'topic/slob/fixes', 'topic/slub/core', 'topic...
[linux-2.6] / drivers / net / wireless / b43 / rfkill.h
1 #ifndef B43_RFKILL_H_
2 #define B43_RFKILL_H_
3
4 struct b43_wldev;
5
6
7 #ifdef CONFIG_B43_RFKILL
8
9 #include <linux/rfkill.h>
10 #include <linux/input-polldev.h>
11
12
13 struct b43_rfkill {
14         /* The RFKILL subsystem data structure */
15         struct rfkill *rfkill;
16         /* The poll device for the RFKILL input button */
17         struct input_polled_dev *poll_dev;
18         /* Did initialization succeed? Used for freeing. */
19         bool registered;
20         /* The unique name of this rfkill switch */
21         char name[sizeof("b43-phy4294967295")];
22 };
23
24 /* The init function returns void, because we are not interested
25  * in failing the b43 init process when rfkill init failed. */
26 void b43_rfkill_init(struct b43_wldev *dev);
27 void b43_rfkill_exit(struct b43_wldev *dev);
28
29 char * b43_rfkill_led_name(struct b43_wldev *dev);
30
31
32 #else /* CONFIG_B43_RFKILL */
33 /* No RFKILL support. */
34
35 struct b43_rfkill {
36         /* empty */
37 };
38
39 static inline void b43_rfkill_init(struct b43_wldev *dev)
40 {
41 }
42 static inline void b43_rfkill_exit(struct b43_wldev *dev)
43 {
44 }
45 static inline char * b43_rfkill_led_name(struct b43_wldev *dev)
46 {
47         return NULL;
48 }
49
50 #endif /* CONFIG_B43_RFKILL */
51
52 #endif /* B43_RFKILL_H_ */