diff options
author | Michael Buesch <mb@bu3sch.de> | 2007-09-28 14:22:33 +0200 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 16:54:13 -0700 |
commit | 42bb4cd5ae320dd46630533fecb91b940d4468e2 (patch) | |
tree | 13635dd2a2457f53f4ff09a6b429f8e4ac23c246 /drivers/net/wireless/b43/rfkill.h | |
parent | 8e9f7529fdfe34ed519f048682eb404fbd8004e8 (diff) | |
download | kernel_samsung_tuna-42bb4cd5ae320dd46630533fecb91b940d4468e2.zip kernel_samsung_tuna-42bb4cd5ae320dd46630533fecb91b940d4468e2.tar.gz kernel_samsung_tuna-42bb4cd5ae320dd46630533fecb91b940d4468e2.tar.bz2 |
[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.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/net/wireless/b43/rfkill.h b/drivers/net/wireless/b43/rfkill.h index 05db0d6..29544e8 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) |