aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43legacy/rfkill.h
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2007-10-10 23:48:17 -0400
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:03:27 -0500
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;
7 7
8#include <linux/rfkill.h> 8#include <linux/rfkill.h>
9#include <linux/workqueue.h> 9#include <linux/workqueue.h>
10#include <linux/input-polldev.h>
11
10 12
11 13
12struct b43legacy_rfkill { 14struct b43legacy_rfkill {
13 /* The RFKILL subsystem data structure */ 15 /* The RFKILL subsystem data structure */
14 struct rfkill *rfkill; 16 struct rfkill *rfkill;
17 /* The poll device for the RFKILL input button */
18 struct input_polled_dev *poll_dev;
15 /* The unique name of this rfkill switch */ 19 /* The unique name of this rfkill switch */
16 char name[32]; 20 char name[32];
17 /* Workqueue for asynchronous notification. */
18 struct work_struct notify_work;
19}; 21};
20 22
23/* All the init functions return void, because we are not interested
24 * in failing the b43 init process when rfkill init failed. */
25void b43legacy_rfkill_alloc(struct b43legacy_wldev *dev);
26void b43legacy_rfkill_free(struct b43legacy_wldev *dev);
21void b43legacy_rfkill_init(struct b43legacy_wldev *dev); 27void b43legacy_rfkill_init(struct b43legacy_wldev *dev);
22void b43legacy_rfkill_exit(struct b43legacy_wldev *dev); 28void b43legacy_rfkill_exit(struct b43legacy_wldev *dev);
23void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev, bool on); 29
24char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev); 30char * b43legacy_rfkill_led_name(struct b43legacy_wldev *dev);
25 31
26 32
27#else /* CONFIG_B43LEGACY_RFKILL */ 33#else /* CONFIG_B43LEGACY_RFKILL */
@@ -31,17 +37,19 @@ struct b43legacy_rfkill {
31 /* empty */ 37 /* empty */
32}; 38};
33 39
34static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev) 40static inline void b43legacy_rfkill_alloc(struct b43legacy_wldev *dev)
35{ 41{
36} 42}
37static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev) 43static inline void b43legacy_rfkill_free(struct b43legacy_wldev *dev)
38{ 44{
39} 45}
40static inline void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev, 46static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
41 bool on) 47{
48}
49static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
42{ 50{
43} 51}
44static inline char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev) 52static inline char * b43legacy_rfkill_led_name(struct b43legacy_wldev *dev)
45{ 53{
46 return NULL; 54 return NULL;
47} 55}