summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/rfkill.h
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2007-09-28 14:22:33 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 16:54:13 -0700
commit42bb4cd5ae320dd46630533fecb91b940d4468e2 (patch)
tree13635dd2a2457f53f4ff09a6b429f8e4ac23c246 /drivers/net/wireless/b43/rfkill.h
parent8e9f7529fdfe34ed519f048682eb404fbd8004e8 (diff)
[B43]: 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. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/b43/rfkill.h')
-rw-r--r--drivers/net/wireless/b43/rfkill.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/net/wireless/b43/rfkill.h b/drivers/net/wireless/b43/rfkill.h
index 05db0d67a92..29544e8c9e5 100644
--- a/drivers/net/wireless/b43/rfkill.h
+++ b/drivers/net/wireless/b43/rfkill.h
@@ -7,19 +7,25 @@ struct b43_wldev;
#ifdef CONFIG_B43_RFKILL
#include <linux/rfkill.h>
+#include <linux/input-polldev.h>
+
struct b43_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 b43_rfkill_alloc(struct b43_wldev *dev);
+void b43_rfkill_free(struct b43_wldev *dev);
void b43_rfkill_init(struct b43_wldev *dev);
void b43_rfkill_exit(struct b43_wldev *dev);
-void b43_rfkill_toggled(struct b43_wldev *dev, bool on);
+
char * b43_rfkill_led_name(struct b43_wldev *dev);
@@ -30,13 +36,16 @@ struct b43_rfkill {
/* empty */
};
-static inline void b43_rfkill_init(struct b43_wldev *dev)
+static inline void b43_rfkill_alloc(struct b43_wldev *dev)
{
}
-static inline void b43_rfkill_exit(struct b43_wldev *dev)
+static inline void b43_rfkill_free(struct b43_wldev *dev)
{
}
-static inline void b43_rfkill_toggled(struct b43_wldev *dev, bool on)
+static inline void b43_rfkill_init(struct b43_wldev *dev)
+{
+}
+static inline void b43_rfkill_exit(struct b43_wldev *dev)
{
}
static inline char * b43_rfkill_led_name(struct b43_wldev *dev)