diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/Kconfig | 98 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/Makefile | 11 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 15 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 7 |
4 files changed, 68 insertions, 63 deletions
diff --git a/drivers/net/wireless/iwlwifi/Kconfig b/drivers/net/wireless/iwlwifi/Kconfig index 82b66a3d3a5d..b0ac0ce3fb9f 100644 --- a/drivers/net/wireless/iwlwifi/Kconfig +++ b/drivers/net/wireless/iwlwifi/Kconfig | |||
@@ -14,18 +14,49 @@ config IWLWIFI_LEDS | |||
14 | default n | 14 | default n |
15 | 15 | ||
16 | config IWLWIFI_RFKILL | 16 | config IWLWIFI_RFKILL |
17 | boolean "IWLWIFI RF kill support" | 17 | boolean "Iwlwifi RF kill support" |
18 | depends on IWLCORE | 18 | depends on IWLCORE |
19 | 19 | ||
20 | config IWL4965 | 20 | config IWLWIFI_DEBUG |
21 | tristate "Intel Wireless WiFi 4965AGN" | 21 | bool "Enable full debugging output in iwlagn driver" |
22 | depends on IWLCORE | ||
23 | ---help--- | ||
24 | This option will enable debug tracing output for the iwlwifi drivers | ||
25 | |||
26 | This will result in the kernel module being ~100k larger. You can | ||
27 | control which debug output is sent to the kernel log by setting the | ||
28 | value in | ||
29 | |||
30 | /sys/class/net/wlan0/device/debug_level | ||
31 | |||
32 | This entry will only exist if this option is enabled. | ||
33 | |||
34 | To set a value, simply echo an 8-byte hex value to the same file: | ||
35 | |||
36 | % echo 0x43fff > /sys/class/net/wlan0/device/debug_level | ||
37 | |||
38 | You can find the list of debug mask values in: | ||
39 | drivers/net/wireless/iwlwifi/iwl-debug.h | ||
40 | |||
41 | If this is your first time using this driver, you should say Y here | ||
42 | as the debug information can assist others in helping you resolve | ||
43 | any problems you may encounter. | ||
44 | |||
45 | config IWLWIFI_DEBUGFS | ||
46 | bool "Iwlwifi debugfs support" | ||
47 | depends on IWLCORE && IWLWIFI_DEBUG && MAC80211_DEBUGFS | ||
48 | ---help--- | ||
49 | Enable creation of debugfs files for the iwlwifi drivers. | ||
50 | |||
51 | config IWLAGN | ||
52 | tristate "Intel Wireless WiFi Next Gen AGN" | ||
22 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL | 53 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL |
23 | select FW_LOADER | 54 | select FW_LOADER |
24 | select IWLCORE | 55 | select IWLCORE |
25 | ---help--- | 56 | ---help--- |
26 | Select to build the driver supporting the: | 57 | Select to build the driver supporting the: |
27 | 58 | ||
28 | Intel Wireless WiFi Link 4965AGN | 59 | Intel Wireless WiFi Link Next-Gen AGN |
29 | 60 | ||
30 | This driver uses the kernel's mac80211 subsystem. | 61 | This driver uses the kernel's mac80211 subsystem. |
31 | 62 | ||
@@ -42,60 +73,33 @@ config IWL4965 | |||
42 | If you want to compile the driver as a module ( = code which can be | 73 | If you want to compile the driver as a module ( = code which can be |
43 | inserted in and removed from the running kernel whenever you want), | 74 | inserted in and removed from the running kernel whenever you want), |
44 | say M here and read <file:Documentation/kbuild/modules.txt>. The | 75 | say M here and read <file:Documentation/kbuild/modules.txt>. The |
45 | module will be called iwl4965.ko. | 76 | module will be called iwlagn.ko. |
46 | |||
47 | config IWL4965_LEDS | ||
48 | bool "Enable LEDS features in iwl4965 driver" | ||
49 | depends on IWL4965 | ||
50 | select IWLWIFI_LEDS | ||
51 | ---help--- | ||
52 | This option enables LEDS for the iwlwifi drivers | ||
53 | 77 | ||
54 | 78 | config IWLAGN_SPECTRUM_MEASUREMENT | |
55 | config IWL4965_SPECTRUM_MEASUREMENT | 79 | bool "Enable Spectrum Measurement in iwlagn driver" |
56 | bool "Enable Spectrum Measurement in iwl4965 driver" | 80 | depends on IWLAGN |
57 | depends on IWL4965 | ||
58 | ---help--- | 81 | ---help--- |
59 | This option will enable spectrum measurement for the iwl4965 driver. | 82 | This option will enable spectrum measurement for the iwlagn driver. |
60 | 83 | ||
61 | config IWLWIFI_DEBUG | 84 | config IWLAGN_LEDS |
62 | bool "Enable full debugging output in iwl4965 driver" | 85 | bool "Enable LEDS features in iwlagn driver" |
63 | depends on IWL4965 | 86 | depends on IWLAGN |
87 | select IWLWIFI_LEDS | ||
64 | ---help--- | 88 | ---help--- |
65 | This option will enable debug tracing output for the iwl4965 | 89 | This option enables LEDS for the iwlagn drivers |
66 | driver. | ||
67 | |||
68 | This will result in the kernel module being ~100k larger. You can | ||
69 | control which debug output is sent to the kernel log by setting the | ||
70 | value in | ||
71 | |||
72 | /sys/class/net/wlan0/device/debug_level | ||
73 | |||
74 | This entry will only exist if this option is enabled. | ||
75 | |||
76 | To set a value, simply echo an 8-byte hex value to the same file: | ||
77 | |||
78 | % echo 0x43fff > /sys/class/net/wlan0/device/debug_level | ||
79 | 90 | ||
80 | You can find the list of debug mask values in: | ||
81 | drivers/net/wireless/iwlwifi/iwl-4965-debug.h | ||
82 | 91 | ||
83 | If this is your first time using this driver, you should say Y here | 92 | config IWL4965 |
84 | as the debug information can assist others in helping you resolve | 93 | bool "Intel Wireless WiFi 4965AGN" |
85 | any problems you may encounter. | 94 | depends on IWLAGN |
95 | ---help--- | ||
96 | This option enables support for Intel Wireless WiFi Link 4965AGN | ||
86 | 97 | ||
87 | config IWL5000 | 98 | config IWL5000 |
88 | bool "Intel Wireless WiFi 5000AGN" | 99 | bool "Intel Wireless WiFi 5000AGN" |
89 | depends on IWL4965 | 100 | depends on IWLAGN |
90 | ---help--- | 101 | ---help--- |
91 | This option enables support for Intel Wireless WiFi Link 5000AGN Family | 102 | This option enables support for Intel Wireless WiFi Link 5000AGN Family |
92 | Dependency on 4965 is temporary | ||
93 | |||
94 | config IWLWIFI_DEBUGFS | ||
95 | bool "Iwlwifi debugfs support" | ||
96 | depends on IWLCORE && IWLWIFI_DEBUG && MAC80211_DEBUGFS | ||
97 | ---help--- | ||
98 | Enable creation of debugfs files for the iwlwifi drivers. | ||
99 | 103 | ||
100 | config IWL3945 | 104 | config IWL3945 |
101 | tristate "Intel PRO/Wireless 3945ABG/BG Network Connection" | 105 | tristate "Intel PRO/Wireless 3945ABG/BG Network Connection" |
diff --git a/drivers/net/wireless/iwlwifi/Makefile b/drivers/net/wireless/iwlwifi/Makefile index 6bf3998736b5..47aa28f6a513 100644 --- a/drivers/net/wireless/iwlwifi/Makefile +++ b/drivers/net/wireless/iwlwifi/Makefile | |||
@@ -6,13 +6,14 @@ iwlcore-$(CONFIG_IWLWIFI_DEBUGFS) += iwl-debugfs.o | |||
6 | iwlcore-$(CONFIG_IWLWIFI_LEDS) += iwl-led.o | 6 | iwlcore-$(CONFIG_IWLWIFI_LEDS) += iwl-led.o |
7 | iwlcore-$(CONFIG_IWLWIFI_RFKILL) += iwl-rfkill.o | 7 | iwlcore-$(CONFIG_IWLWIFI_RFKILL) += iwl-rfkill.o |
8 | 8 | ||
9 | obj-$(CONFIG_IWLAGN) += iwlagn.o | ||
10 | iwlagn-objs := iwl-agn.o iwl-agn-rs.o | ||
11 | |||
12 | iwlagn-$(CONFIG_IWL4965) += iwl-4965.o | ||
13 | iwlagn-$(CONFIG_IWL5000) += iwl-5000.o | ||
14 | |||
9 | obj-$(CONFIG_IWL3945) += iwl3945.o | 15 | obj-$(CONFIG_IWL3945) += iwl3945.o |
10 | iwl3945-objs := iwl3945-base.o iwl-3945.o iwl-3945-rs.o | 16 | iwl3945-objs := iwl3945-base.o iwl-3945.o iwl-3945-rs.o |
11 | iwl3945-$(CONFIG_IWL3945_LEDS) += iwl-3945-led.o | 17 | iwl3945-$(CONFIG_IWL3945_LEDS) += iwl-3945-led.o |
12 | 18 | ||
13 | obj-$(CONFIG_IWL4965) += iwl4965.o | ||
14 | iwl4965-objs := iwl-agn.o iwl-4965.o iwl-agn-rs.o | ||
15 | |||
16 | iwl4965-$(CONFIG_IWL5000) += iwl-5000.o | ||
17 | |||
18 | 19 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 4ff0636dbddc..6503b3ac8d66 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -73,7 +73,7 @@ | |||
73 | #define VD | 73 | #define VD |
74 | #endif | 74 | #endif |
75 | 75 | ||
76 | #ifdef CONFIG_IWL4965_SPECTRUM_MEASUREMENT | 76 | #ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT |
77 | #define VS "s" | 77 | #define VS "s" |
78 | #else | 78 | #else |
79 | #define VS | 79 | #define VS |
@@ -86,6 +86,7 @@ MODULE_DESCRIPTION(DRV_DESCRIPTION); | |||
86 | MODULE_VERSION(DRV_VERSION); | 86 | MODULE_VERSION(DRV_VERSION); |
87 | MODULE_AUTHOR(DRV_COPYRIGHT); | 87 | MODULE_AUTHOR(DRV_COPYRIGHT); |
88 | MODULE_LICENSE("GPL"); | 88 | MODULE_LICENSE("GPL"); |
89 | MODULE_ALIAS("iwl4965"); | ||
89 | 90 | ||
90 | /*************** STATION TABLE MANAGEMENT **** | 91 | /*************** STATION TABLE MANAGEMENT **** |
91 | * mac80211 should be examined to determine if sta_info is duplicating | 92 | * mac80211 should be examined to determine if sta_info is duplicating |
@@ -883,7 +884,7 @@ static void iwl4965_set_rate(struct iwl_priv *priv) | |||
883 | (IWL_OFDM_BASIC_RATES_MASK >> IWL_FIRST_OFDM_RATE) & 0xFF; | 884 | (IWL_OFDM_BASIC_RATES_MASK >> IWL_FIRST_OFDM_RATE) & 0xFF; |
884 | } | 885 | } |
885 | 886 | ||
886 | #ifdef CONFIG_IWL4965_SPECTRUM_MEASUREMENT | 887 | #ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT |
887 | 888 | ||
888 | #include "iwl-spectrum.h" | 889 | #include "iwl-spectrum.h" |
889 | 890 | ||
@@ -1087,7 +1088,7 @@ static void iwl4965_rx_csa(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb) | |||
1087 | static void iwl4965_rx_spectrum_measure_notif(struct iwl_priv *priv, | 1088 | static void iwl4965_rx_spectrum_measure_notif(struct iwl_priv *priv, |
1088 | struct iwl_rx_mem_buffer *rxb) | 1089 | struct iwl_rx_mem_buffer *rxb) |
1089 | { | 1090 | { |
1090 | #ifdef CONFIG_IWL4965_SPECTRUM_MEASUREMENT | 1091 | #ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT |
1091 | struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data; | 1092 | struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data; |
1092 | struct iwl4965_spectrum_notification *report = &(pkt->u.spectrum_notif); | 1093 | struct iwl4965_spectrum_notification *report = &(pkt->u.spectrum_notif); |
1093 | 1094 | ||
@@ -3786,7 +3787,7 @@ static ssize_t store_filter_flags(struct device *d, | |||
3786 | static DEVICE_ATTR(filter_flags, S_IWUSR | S_IRUGO, show_filter_flags, | 3787 | static DEVICE_ATTR(filter_flags, S_IWUSR | S_IRUGO, show_filter_flags, |
3787 | store_filter_flags); | 3788 | store_filter_flags); |
3788 | 3789 | ||
3789 | #ifdef CONFIG_IWL4965_SPECTRUM_MEASUREMENT | 3790 | #ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT |
3790 | 3791 | ||
3791 | static ssize_t show_measurement(struct device *d, | 3792 | static ssize_t show_measurement(struct device *d, |
3792 | struct device_attribute *attr, char *buf) | 3793 | struct device_attribute *attr, char *buf) |
@@ -3857,7 +3858,7 @@ static ssize_t store_measurement(struct device *d, | |||
3857 | 3858 | ||
3858 | static DEVICE_ATTR(measurement, S_IRUSR | S_IWUSR, | 3859 | static DEVICE_ATTR(measurement, S_IRUSR | S_IWUSR, |
3859 | show_measurement, store_measurement); | 3860 | show_measurement, store_measurement); |
3860 | #endif /* CONFIG_IWL4965_SPECTRUM_MEASUREMENT */ | 3861 | #endif /* CONFIG_IWLAGN_SPECTRUM_MEASUREMENT */ |
3861 | 3862 | ||
3862 | static ssize_t store_retry_rate(struct device *d, | 3863 | static ssize_t store_retry_rate(struct device *d, |
3863 | struct device_attribute *attr, | 3864 | struct device_attribute *attr, |
@@ -4105,7 +4106,7 @@ static struct attribute *iwl4965_sysfs_entries[] = { | |||
4105 | &dev_attr_channels.attr, | 4106 | &dev_attr_channels.attr, |
4106 | &dev_attr_flags.attr, | 4107 | &dev_attr_flags.attr, |
4107 | &dev_attr_filter_flags.attr, | 4108 | &dev_attr_filter_flags.attr, |
4108 | #ifdef CONFIG_IWL4965_SPECTRUM_MEASUREMENT | 4109 | #ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT |
4109 | &dev_attr_measurement.attr, | 4110 | &dev_attr_measurement.attr, |
4110 | #endif | 4111 | #endif |
4111 | &dev_attr_power_level.attr, | 4112 | &dev_attr_power_level.attr, |
@@ -4457,8 +4458,10 @@ static int iwl4965_pci_resume(struct pci_dev *pdev) | |||
4457 | 4458 | ||
4458 | /* Hardware specific file defines the PCI IDs table for that hardware module */ | 4459 | /* Hardware specific file defines the PCI IDs table for that hardware module */ |
4459 | static struct pci_device_id iwl_hw_card_ids[] = { | 4460 | static struct pci_device_id iwl_hw_card_ids[] = { |
4461 | #ifdef CONFIG_IWL4965 | ||
4460 | {IWL_PCI_DEVICE(0x4229, PCI_ANY_ID, iwl4965_agn_cfg)}, | 4462 | {IWL_PCI_DEVICE(0x4229, PCI_ANY_ID, iwl4965_agn_cfg)}, |
4461 | {IWL_PCI_DEVICE(0x4230, PCI_ANY_ID, iwl4965_agn_cfg)}, | 4463 | {IWL_PCI_DEVICE(0x4230, PCI_ANY_ID, iwl4965_agn_cfg)}, |
4464 | #endif /* CONFIG_IWL4965 */ | ||
4462 | #ifdef CONFIG_IWL5000 | 4465 | #ifdef CONFIG_IWL5000 |
4463 | {IWL_PCI_DEVICE(0x4232, 0x1205, iwl5100_bg_cfg)}, | 4466 | {IWL_PCI_DEVICE(0x4232, 0x1205, iwl5100_bg_cfg)}, |
4464 | {IWL_PCI_DEVICE(0x4232, 0x1305, iwl5100_bg_cfg)}, | 4467 | {IWL_PCI_DEVICE(0x4232, 0x1305, iwl5100_bg_cfg)}, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index 7ac56b1350b7..848786ab7916 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -36,7 +36,7 @@ | |||
36 | #include <linux/kernel.h> | 36 | #include <linux/kernel.h> |
37 | #include <net/ieee80211_radiotap.h> | 37 | #include <net/ieee80211_radiotap.h> |
38 | 38 | ||
39 | #define DRV_NAME "iwl4965" | 39 | #define DRV_NAME "iwlagn" |
40 | #include "iwl-rfkill.h" | 40 | #include "iwl-rfkill.h" |
41 | #include "iwl-eeprom.h" | 41 | #include "iwl-eeprom.h" |
42 | #include "iwl-4965-hw.h" | 42 | #include "iwl-4965-hw.h" |
@@ -808,14 +808,11 @@ struct iwl_chain_noise_data { | |||
808 | #define EEPROM_SEM_RETRY_LIMIT 1000 /* number of attempts (not time) */ | 808 | #define EEPROM_SEM_RETRY_LIMIT 1000 /* number of attempts (not time) */ |
809 | 809 | ||
810 | 810 | ||
811 | #ifdef CONFIG_IWL4965_SPECTRUM_MEASUREMENT | ||
812 | |||
813 | enum { | 811 | enum { |
814 | MEASUREMENT_READY = (1 << 0), | 812 | MEASUREMENT_READY = (1 << 0), |
815 | MEASUREMENT_ACTIVE = (1 << 1), | 813 | MEASUREMENT_ACTIVE = (1 << 1), |
816 | }; | 814 | }; |
817 | 815 | ||
818 | #endif | ||
819 | 816 | ||
820 | #define IWL_MAX_NUM_QUEUES 20 /* FIXME: do dynamic allocation */ | 817 | #define IWL_MAX_NUM_QUEUES 20 /* FIXME: do dynamic allocation */ |
821 | 818 | ||
@@ -840,7 +837,7 @@ struct iwl_priv { | |||
840 | 837 | ||
841 | struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS]; | 838 | struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS]; |
842 | 839 | ||
843 | #ifdef CONFIG_IWL4965_SPECTRUM_MEASUREMENT | 840 | #ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT |
844 | /* spectrum measurement report caching */ | 841 | /* spectrum measurement report caching */ |
845 | struct iwl4965_spectrum_notification measure_report; | 842 | struct iwl4965_spectrum_notification measure_report; |
846 | u8 measurement_status; | 843 | u8 measurement_status; |