linux/drivers/net/wireless/iwlwifi
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
..
iwl3945-base.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-05-25 01:42:21 -07:00
iwl-1000.c iwlwifi: correct device name for 1000 series 2009-03-16 18:09:36 -04:00
iwl-3945-fh.h
iwl-3945-hw.h iwl3945: set TFD_QUEUE_MAX to correct value 2009-03-27 20:12:58 -04:00
iwl-3945-led.c iwl3945: improve 3945 leds 2009-05-22 14:06:02 -04:00
iwl-3945-led.h iwl3945: use iwl_led structure 2009-03-16 18:09:46 -04:00
iwl-3945-rs.c iwlwifi: Fix handling of retry count of NO_ACK frames in iwl-{3945|agn}-rs 2009-05-06 15:14:51 -04:00
iwl-3945.c iwlcore: support ICT interrupt 2009-05-22 14:06:05 -04:00
iwl-3945.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-04-25 16:36:46 -07:00
iwl-4965-hw.h iwlwifi: use pci registers defined in pci_regs.h 2009-02-13 13:46:04 -05:00
iwl-4965.c iwlcore: support ICT interrupt 2009-05-22 14:06:05 -04:00
iwl-5000-hw.h iwlwifi: Temperature sensor voltage reading for 5150 2009-05-22 14:06:03 -04:00
iwl-5000.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-05-25 01:42:21 -07:00
iwl-6000-hw.h iwlwifi: add recognition of Intel WiFi Link 6000 and 6050 Series 2009-01-29 16:01:02 -05:00
iwl-6000.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-05-18 21:08:20 -07:00
iwl-agn-rs.c iwlwifi: report the rate index as an MCS rate number 2009-05-22 14:06:05 -04:00
iwl-agn-rs.h iwlagn: improve rate scale table search 2009-05-11 15:24:01 -04:00
iwl-agn.c iwlagn: co-exist with AMT 2009-05-22 14:06:09 -04:00
iwl-calib.c iwlwifi: clean up PS code 2009-05-11 15:23:59 -04:00
iwl-calib.h
iwl-commands.h iwlwifi: support "pure 40MHz" in RXON command 2009-05-22 14:06:05 -04:00
iwl-core.c iwlwifi: avoid build warning in iwl-core. 2009-06-03 14:05:10 -04:00
iwl-core.h iwlcore: Allow skb allocation from tasklet. 2009-05-22 14:06:08 -04:00
iwl-csr.h iwlagn: co-exist with AMT 2009-05-22 14:06:09 -04:00
iwl-debug.h iwlwifi: support NVM access (EEPROM/OTP) 2009-05-22 14:06:04 -04:00
iwl-debugfs.c iwlwifi: check for valid band for channel info 2009-05-22 14:06:09 -04:00
iwl-dev.h iwlagn: co-exist with AMT 2009-05-22 14:06:09 -04:00
iwl-eeprom.c iwlwifi: fix otp access init 2009-06-03 14:05:09 -04:00
iwl-eeprom.h iwlwifi: support NVM access (EEPROM/OTP) 2009-05-22 14:06:04 -04:00
iwl-fh.h
iwl-hcmd.c iwlwifi: don't use implicit priv in IWL_DEBUG 2009-02-09 15:03:34 -05:00
iwl-helpers.h mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi 2009-03-27 20:13:23 -04:00
iwl-io.h iwlcore: register locks 2009-05-22 14:06:04 -04:00
iwl-led.c iwlwifi: fix led naming 2009-02-09 15:03:43 -05:00
iwl-led.h iwl3945: use iwl_led structure 2009-03-16 18:09:46 -04:00
iwl-power.c iwlwifi: clean up PS code 2009-05-11 15:23:59 -04:00
iwl-power.h iwlwifi: clean up PS code 2009-05-11 15:23:59 -04:00
iwl-prph.h
iwl-rfkill.c rfkill: rewrite 2009-06-03 14:06:13 -04:00
iwl-rfkill.h
iwl-rx.c iwlcore: Set rb_timeout to 0x10 for devices with ICT 2009-05-22 14:06:09 -04:00
iwl-scan.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-05-25 01:42:21 -07:00
iwl-spectrum.c iwlwifi: don't use implicit priv in IWL_DEBUG 2009-02-09 15:03:34 -05:00
iwl-spectrum.h
iwl-sta.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-05-08 12:46:17 -07:00
iwl-sta.h iwl3945: unify set key flow with iwlwifi 2009-03-05 14:39:36 -05:00
iwl-tx.c iwlcore: register locks 2009-05-22 14:06:04 -04:00
Kconfig rfkill: rewrite 2009-06-03 14:06:13 -04:00
Makefile iwl3945: use iwl_led structure 2009-03-16 18:09:46 -04:00