summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/b43legacy/rfkill.h
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2007-10-10 22:44:22 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 15:03:27 -0800
commit93bb7f3a7bb5c95da10242d9763994a466c90b1d (patch)
tree8c248e88ea2be5ae791003050bda848b4a72dd36 /drivers/net/wireless/b43legacy/rfkill.h
parentba48f7bb8062982ec916868cc8c90360aad82e53 (diff)
b43legacy: RF-kill support
This adds full support for the RFKILL button and the RFKILL LED trigger. This is a port to b43legacy of a patch by Michael Buesch <mb@bu3sch.de> for b43. Signed-off-by: Larry Finger<Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43legacy/rfkill.h')
-rw-r--r--drivers/net/wireless/b43legacy/rfkill.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43legacy/rfkill.h b/drivers/net/wireless/b43legacy/rfkill.h
new file mode 100644
index 000000000000..388ee0b855a6
--- /dev/null
+++ b/drivers/net/wireless/b43legacy/rfkill.h
@@ -0,0 +1,51 @@
+#ifndef B43legacy_RFKILL_H_
+#define B43legacy_RFKILL_H_
+
+struct b43legacy_wldev;
+
+#ifdef CONFIG_B43LEGACY_RFKILL
+
+#include <linux/rfkill.h>
+#include <linux/workqueue.h>
+
+
+struct b43legacy_rfkill {
+ /* The RFKILL subsystem data structure */
+ struct rfkill *rfkill;
+ /* The unique name of this rfkill switch */
+ char name[32];
+ /* Workqueue for asynchronous notification. */
+ struct work_struct notify_work;
+};
+
+void b43legacy_rfkill_init(struct b43legacy_wldev *dev);
+void b43legacy_rfkill_exit(struct b43legacy_wldev *dev);
+void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev, bool on);
+char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev);
+
+
+#else /* CONFIG_B43LEGACY_RFKILL */
+/* No RFKILL support. */
+
+struct b43legacy_rfkill {
+ /* empty */
+};
+
+static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
+{
+}
+static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
+{
+}
+static inline void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev,
+ bool on)
+{
+}
+static inline char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev)
+{
+ return NULL;
+}
+
+#endif /* CONFIG_B43LEGACY_RFKILL */
+
+#endif /* B43legacy_RFKILL_H_ */