mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 20:44:32 +08:00
19d337dff9
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>
122 lines
3.8 KiB
Plaintext
122 lines
3.8 KiB
Plaintext
config IWLWIFI
|
|
tristate "Intel Wireless Wifi"
|
|
depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL
|
|
select LIB80211
|
|
select FW_LOADER
|
|
select MAC80211_LEDS if IWLWIFI_LEDS
|
|
select LEDS_CLASS if IWLWIFI_LEDS
|
|
|
|
config IWLWIFI_LEDS
|
|
bool "Enable LED support in iwlagn and iwl3945 drivers"
|
|
depends on IWLWIFI
|
|
|
|
config IWLWIFI_RFKILL
|
|
def_bool y
|
|
depends on IWLWIFI && RFKILL
|
|
|
|
config IWLWIFI_SPECTRUM_MEASUREMENT
|
|
bool "Enable Spectrum Measurement in iwlagn driver"
|
|
depends on IWLWIFI
|
|
---help---
|
|
This option will enable spectrum measurement for the iwlagn driver.
|
|
|
|
config IWLWIFI_DEBUG
|
|
bool "Enable full debugging output in iwlagn and iwl3945 drivers"
|
|
depends on IWLWIFI
|
|
---help---
|
|
This option will enable debug tracing output for the iwlwifi drivers
|
|
|
|
This will result in the kernel module being ~100k larger. You can
|
|
control which debug output is sent to the kernel log by setting the
|
|
value in
|
|
|
|
/sys/class/net/wlan0/device/debug_level
|
|
|
|
This entry will only exist if this option is enabled.
|
|
|
|
To set a value, simply echo an 8-byte hex value to the same file:
|
|
|
|
% echo 0x43fff > /sys/class/net/wlan0/device/debug_level
|
|
|
|
You can find the list of debug mask values in:
|
|
drivers/net/wireless/iwlwifi/iwl-debug.h
|
|
|
|
If this is your first time using this driver, you should say Y here
|
|
as the debug information can assist others in helping you resolve
|
|
any problems you may encounter.
|
|
|
|
config IWLWIFI_DEBUGFS
|
|
bool "iwlagn debugfs support"
|
|
depends on IWLWIFI && IWLWIFI_DEBUG && MAC80211_DEBUGFS
|
|
---help---
|
|
Enable creation of debugfs files for the iwlwifi drivers.
|
|
|
|
config IWLAGN
|
|
tristate "Intel Wireless WiFi Next Gen AGN (iwlagn)"
|
|
depends on IWLWIFI
|
|
---help---
|
|
Select to build the driver supporting the:
|
|
|
|
Intel Wireless WiFi Link Next-Gen AGN
|
|
|
|
This driver uses the kernel's mac80211 subsystem.
|
|
|
|
In order to use this driver, you will need a microcode (uCode)
|
|
image for it. You can obtain the microcode from:
|
|
|
|
<http://intellinuxwireless.org/>.
|
|
|
|
The microcode is typically installed in /lib/firmware. You can
|
|
look in the hotplug script /etc/hotplug/firmware.agent to
|
|
determine which directory FIRMWARE_DIR is set to when the script
|
|
runs.
|
|
|
|
If you want to compile the driver as a module ( = code which can be
|
|
inserted in and removed from the running kernel whenever you want),
|
|
say M here and read <file:Documentation/kbuild/modules.txt>. The
|
|
module will be called iwlagn.ko.
|
|
|
|
|
|
config IWL4965
|
|
bool "Intel Wireless WiFi 4965AGN"
|
|
depends on IWLAGN
|
|
---help---
|
|
This option enables support for Intel Wireless WiFi Link 4965AGN
|
|
|
|
config IWL5000
|
|
bool "Intel Wireless WiFi 5000AGN; Intel WiFi Link 1000, 6000, and 6050 Series"
|
|
depends on IWLAGN
|
|
---help---
|
|
This option enables support for Intel Wireless WiFi Link 5000AGN Family
|
|
|
|
config IWL3945
|
|
tristate "Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)"
|
|
depends on IWLWIFI
|
|
---help---
|
|
Select to build the driver supporting the:
|
|
|
|
Intel PRO/Wireless 3945ABG/BG Network Connection
|
|
|
|
This driver uses the kernel's mac80211 subsystem.
|
|
|
|
In order to use this driver, you will need a microcode (uCode)
|
|
image for it. You can obtain the microcode from:
|
|
|
|
<http://intellinuxwireless.org/>.
|
|
|
|
The microcode is typically installed in /lib/firmware. You can
|
|
look in the hotplug script /etc/hotplug/firmware.agent to
|
|
determine which directory FIRMWARE_DIR is set to when the script
|
|
runs.
|
|
|
|
If you want to compile the driver as a module ( = code which can be
|
|
inserted in and removed from the running kernel whenever you want),
|
|
say M here and read <file:Documentation/kbuild/modules.txt>. The
|
|
module will be called iwl3945.ko.
|
|
|
|
config IWL3945_SPECTRUM_MEASUREMENT
|
|
bool "Enable Spectrum Measurement in iwl3945 driver"
|
|
depends on IWL3945
|
|
---help---
|
|
This option will enable spectrum measurement for the iwl3945 driver.
|