summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/b43legacy/rfkill.h
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2007-10-10 22:48:17 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 15:03:27 -0800
commit6be50837e303c53b1e5a0138dfed132ccbabcdad (patch)
tree5664873c9ab28c798e7044adf25e4e6e34da755d /drivers/net/wireless/b43legacy/rfkill.h
parent93bb7f3a7bb5c95da10242d9763994a466c90b1d (diff)
b43legacy: Use input-polldev for the rfkill switch
This removes the direct call to rfkill on an rfkill event and replaces it with an input device. This way userspace is also notified about the event. This patch is the port to b43legacy of a patch for b43 by Michael Buesch <mb@bu3sch.de>. 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.h26
1 files changed, 17 insertions, 9 deletions
diff --git a/drivers/net/wireless/b43legacy/rfkill.h b/drivers/net/wireless/b43legacy/rfkill.h
index 388ee0b855a6..4a81ba3f54f2 100644
--- a/drivers/net/wireless/b43legacy/rfkill.h
+++ b/drivers/net/wireless/b43legacy/rfkill.h
@@ -7,21 +7,27 @@ struct b43legacy_wldev;
#include <linux/rfkill.h>
#include <linux/workqueue.h>
+#include <linux/input-polldev.h>
+
struct b43legacy_rfkill {
/* The RFKILL subsystem data structure */
struct rfkill *rfkill;
+ /* The poll device for the RFKILL input button */
+ struct input_polled_dev *poll_dev;
/* The unique name of this rfkill switch */
char name[32];
- /* Workqueue for asynchronous notification. */
- struct work_struct notify_work;
};
+/* All the init functions return void, because we are not interested
+ * in failing the b43 init process when rfkill init failed. */
+void b43legacy_rfkill_alloc(struct b43legacy_wldev *dev);
+void b43legacy_rfkill_free(struct b43legacy_wldev *dev);
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);
+
+char * b43legacy_rfkill_led_name(struct b43legacy_wldev *dev);
#else /* CONFIG_B43LEGACY_RFKILL */
@@ -31,17 +37,19 @@ struct b43legacy_rfkill {
/* empty */
};
-static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
+static inline void b43legacy_rfkill_alloc(struct b43legacy_wldev *dev)
{
}
-static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
+static inline void b43legacy_rfkill_free(struct b43legacy_wldev *dev)
{
}
-static inline void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev,
- bool on)
+static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
+{
+}
+static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
{
}
-static inline char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev)
+static inline char * b43legacy_rfkill_led_name(struct b43legacy_wldev *dev)
{
return NULL;
}