b43legacy: Use input-polldev for the rfkill switch
[linux-2.6.git] / 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 #include <linux/input-polldev.h>
11
12
13
14 struct b43legacy_rfkill {
15         /* The RFKILL subsystem data structure */
16         struct rfkill *rfkill;
17         /* The poll device for the RFKILL input button */
18         struct input_polled_dev *poll_dev;
19         /* The unique name of this rfkill switch */
20         char name[32];
21 };
22
23 /* All the init functions return void, because we are not interested
24  * in failing the b43 init process when rfkill init failed. */
25 void b43legacy_rfkill_alloc(struct b43legacy_wldev *dev);
26 void b43legacy_rfkill_free(struct b43legacy_wldev *dev);
27 void b43legacy_rfkill_init(struct b43legacy_wldev *dev);
28 void b43legacy_rfkill_exit(struct b43legacy_wldev *dev);
29
30 char * b43legacy_rfkill_led_name(struct b43legacy_wldev *dev);
31
32
33 #else /* CONFIG_B43LEGACY_RFKILL */
34 /* No RFKILL support. */
35
36 struct b43legacy_rfkill {
37         /* empty */
38 };
39
40 static inline void b43legacy_rfkill_alloc(struct b43legacy_wldev *dev)
41 {
42 }
43 static inline void b43legacy_rfkill_free(struct b43legacy_wldev *dev)
44 {
45 }
46 static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
47 {
48 }
49 static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
50 {
51 }
52 static inline char * b43legacy_rfkill_led_name(struct b43legacy_wldev *dev)
53 {
54         return NULL;
55 }
56
57 #endif /* CONFIG_B43LEGACY_RFKILL */
58
59 #endif /* B43legacy_RFKILL_H_ */