blob: 388ee0b855a6776ecdc1b290a97605ad24ddf3c0 [file] [log] [blame]
Larry Finger93bb7f32007-10-10 22:44:22 -05001#ifndef B43legacy_RFKILL_H_
2#define B43legacy_RFKILL_H_
3
4struct b43legacy_wldev;
5
6#ifdef CONFIG_B43LEGACY_RFKILL
7
8#include <linux/rfkill.h>
9#include <linux/workqueue.h>
10
11
12struct 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
21void b43legacy_rfkill_init(struct b43legacy_wldev *dev);
22void b43legacy_rfkill_exit(struct b43legacy_wldev *dev);
23void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev, bool on);
24char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev);
25
26
27#else /* CONFIG_B43LEGACY_RFKILL */
28/* No RFKILL support. */
29
30struct b43legacy_rfkill {
31 /* empty */
32};
33
34static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
35{
36}
37static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
38{
39}
40static inline void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev,
41 bool on)
42{
43}
44static 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_ */