kernel-ark/drivers/net/wireless
Johannes Berg 19d337dff9 rfkill: rewrite
This patch completely rewrites the rfkill core to address
the following deficiencies:

 * all rfkill drivers need to implement polling where necessary
   rather than having one central implementation

 * updating the rfkill state cannot be done from arbitrary
   contexts, forcing drivers to use schedule_work and requiring
   lots of code

 * rfkill drivers need to keep track of soft/hard blocked
   internally -- the core should do this

 * the rfkill API has many unexpected quirks, for example being
   asymmetric wrt. alloc/free and register/unregister

 * rfkill can call back into a driver from within a function the
   driver called -- this is prone to deadlocks and generally
   should be avoided

 * rfkill-input pointlessly is a separate module

 * drivers need to #ifdef rfkill functions (unless they want to
   depend on or select RFKILL) -- rfkill should provide inlines
   that do nothing if it isn't compiled in

 * the rfkill structure is not opaque -- drivers need to initialise
   it correctly (lots of sanity checking code required) -- instead
   force drivers to pass the right variables to rfkill_alloc()

 * the documentation is hard to read because it always assumes the
   reader is completely clueless and contains way TOO MANY CAPS

 * the rfkill code needlessly uses a lot of locks and atomic
   operations in locked sections

 * fix LED trigger to actually change the LED when the radio state
   changes -- this wasn't done before

Tested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> [thinkpad]
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-06-03 14:06:13 -04:00
..
ath rfkill: rewrite 2009-06-03 14:06:13 -04:00
b43 rfkill: rewrite 2009-06-03 14:06:13 -04:00
b43legacy rfkill: rewrite 2009-06-03 14:06:13 -04:00
hostap net: remove needless (now buggy) & from dev->dev_addr 2009-05-17 11:59:47 -07:00
ipw2x00 Wireless: remove driver_data direct access of struct device 2009-05-06 15:15:01 -04:00
iwlwifi rfkill: rewrite 2009-06-03 14:06:13 -04:00
iwmc3200wifi rfkill: rewrite 2009-06-03 14:06:13 -04:00
libertas libertas: improve function init/shutdown handling for SD8688 2009-06-03 14:05:16 -04:00
libertas_tf mac80211: unify config_interface and bss_info_changed 2009-05-06 15:14:36 -04:00
orinoco
p54 wireless/p54: prepare for FIRMWARE_NAME_MAX removal 2009-06-03 14:05:15 -04:00
prism54
rt2x00 rt2x00: Remove last usage of beacon_int from ieee80211_config 2009-06-03 14:05:10 -04:00
rtl818x Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-06-03 02:43:41 -07:00
wl12xx wireless: WL12XX should depend on GENERIC_HARDIRQS 2009-05-11 15:23:54 -04:00
zd1211rw zd1211rw: Replace ZD_CS_MULTICAST with ZD_CS_NO_ACK 2009-05-20 14:46:24 -04:00
adm8211.c mac80211: unify config_interface and bss_info_changed 2009-05-06 15:14:36 -04:00
adm8211.h
airo_cs.c
airo.c airo: fix airo_get_encode{,ext} buffer overflow like I mean it... 2009-05-20 14:29:54 -04:00
airo.h
arlan-main.c
arlan-proc.c
arlan.h
at76c50x-usb.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-06-03 02:43:41 -07:00
at76c50x-usb.h
atmel_cs.c Wireless: remove driver_data direct access of struct device 2009-05-06 15:15:01 -04:00
atmel_pci.c
atmel.c
atmel.h
i82586.h
i82593.h
Kconfig Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-06-03 02:43:41 -07:00
mac80211_hwsim.c mac80211_hwsim: remove deprecated radio_enabled 2009-06-03 14:05:12 -04:00
Makefile iwmc3200wifi: Add new Intel Wireless Multicomm 802.11 driver 2009-05-22 14:06:02 -04:00
mwl8k.c mac80211: move HT operation mode BSS info 2009-05-11 15:23:57 -04:00
netwave_cs.c
ray_cs.c net: remove needless (now buggy) & from dev->dev_addr 2009-05-17 11:59:47 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: do not try to restore wpa keys using add_wep_key() 2009-05-22 14:06:04 -04:00
strip.c wireless: fix to set dev->broadcast correctly 2009-05-20 14:46:31 -04:00
wavelan_cs.c wavelan: Remove bogus debugging on skb->next being non-NULL. 2009-05-27 17:27:01 -07:00
wavelan_cs.h
wavelan_cs.p.h
wavelan.c wavelan: Remove bogus debugging on skb->next being non-NULL. 2009-05-27 17:27:01 -07:00
wavelan.h
wavelan.p.h
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h