diff options
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/Kconfig | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/Makefile | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/iwm.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/netdev.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/wext.c | 95 | ||||
-rw-r--r-- | net/mac80211/Kconfig | 1 | ||||
-rw-r--r-- | net/mac80211/Makefile | 1 | ||||
-rw-r--r-- | net/mac80211/ieee80211_i.h | 4 | ||||
-rw-r--r-- | net/mac80211/iface.c | 1 | ||||
-rw-r--r-- | net/mac80211/scan.c | 1 | ||||
-rw-r--r-- | net/mac80211/wext.c | 98 | ||||
-rw-r--r-- | net/wireless/core.c | 3 | ||||
-rw-r--r-- | net/wireless/mlme.c | 2 | ||||
-rw-r--r-- | net/wireless/scan.c | 1 | ||||
-rw-r--r-- | net/wireless/sme.c | 2 | ||||
-rw-r--r-- | net/wireless/wext-compat.c | 40 | ||||
-rw-r--r-- | net/wireless/wext-compat.h | 5 |
17 files changed, 54 insertions, 206 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/Kconfig b/drivers/net/wireless/iwmc3200wifi/Kconfig index 030401d367d3..c62da435285a 100644 --- a/drivers/net/wireless/iwmc3200wifi/Kconfig +++ b/drivers/net/wireless/iwmc3200wifi/Kconfig | |||
@@ -2,7 +2,6 @@ config IWM | |||
2 | tristate "Intel Wireless Multicomm 3200 WiFi driver" | 2 | tristate "Intel Wireless Multicomm 3200 WiFi driver" |
3 | depends on MMC && WLAN_80211 && EXPERIMENTAL | 3 | depends on MMC && WLAN_80211 && EXPERIMENTAL |
4 | depends on CFG80211 | 4 | depends on CFG80211 |
5 | select WIRELESS_EXT | ||
6 | select FW_LOADER | 5 | select FW_LOADER |
7 | help | 6 | help |
8 | The Intel Wireless Multicomm 3200 hardware is a combo | 7 | The Intel Wireless Multicomm 3200 hardware is a combo |
diff --git a/drivers/net/wireless/iwmc3200wifi/Makefile b/drivers/net/wireless/iwmc3200wifi/Makefile index 927f022545c1..d34291b652d3 100644 --- a/drivers/net/wireless/iwmc3200wifi/Makefile +++ b/drivers/net/wireless/iwmc3200wifi/Makefile | |||
@@ -1,5 +1,5 @@ | |||
1 | obj-$(CONFIG_IWM) := iwmc3200wifi.o | 1 | obj-$(CONFIG_IWM) := iwmc3200wifi.o |
2 | iwmc3200wifi-objs += main.o netdev.o rx.o tx.o sdio.o hal.o fw.o | 2 | iwmc3200wifi-objs += main.o netdev.o rx.o tx.o sdio.o hal.o fw.o |
3 | iwmc3200wifi-objs += commands.o wext.o cfg80211.o eeprom.o | 3 | iwmc3200wifi-objs += commands.o cfg80211.o eeprom.o |
4 | 4 | ||
5 | iwmc3200wifi-$(CONFIG_IWM_DEBUG) += debugfs.o | 5 | iwmc3200wifi-$(CONFIG_IWM_DEBUG) += debugfs.o |
diff --git a/drivers/net/wireless/iwmc3200wifi/iwm.h b/drivers/net/wireless/iwmc3200wifi/iwm.h index 2175a481d2f4..7a51bc340fda 100644 --- a/drivers/net/wireless/iwmc3200wifi/iwm.h +++ b/drivers/net/wireless/iwmc3200wifi/iwm.h | |||
@@ -306,8 +306,6 @@ static inline void *iwm_private(struct iwm_priv *iwm) | |||
306 | #define skb_to_rx_info(s) ((struct iwm_rx_info *)(s->cb)) | 306 | #define skb_to_rx_info(s) ((struct iwm_rx_info *)(s->cb)) |
307 | #define skb_to_tx_info(s) ((struct iwm_tx_info *)s->cb) | 307 | #define skb_to_tx_info(s) ((struct iwm_tx_info *)s->cb) |
308 | 308 | ||
309 | extern const struct iw_handler_def iwm_iw_handler_def; | ||
310 | |||
311 | void *iwm_if_alloc(int sizeof_bus, struct device *dev, | 309 | void *iwm_if_alloc(int sizeof_bus, struct device *dev, |
312 | struct iwm_if_ops *if_ops); | 310 | struct iwm_if_ops *if_ops); |
313 | void iwm_if_free(struct iwm_priv *iwm); | 311 | void iwm_if_free(struct iwm_priv *iwm); |
diff --git a/drivers/net/wireless/iwmc3200wifi/netdev.c b/drivers/net/wireless/iwmc3200wifi/netdev.c index 092d28ae56a0..30116d1b4489 100644 --- a/drivers/net/wireless/iwmc3200wifi/netdev.c +++ b/drivers/net/wireless/iwmc3200wifi/netdev.c | |||
@@ -123,7 +123,6 @@ void *iwm_if_alloc(int sizeof_bus, struct device *dev, | |||
123 | } | 123 | } |
124 | 124 | ||
125 | ndev->netdev_ops = &iwm_netdev_ops; | 125 | ndev->netdev_ops = &iwm_netdev_ops; |
126 | ndev->wireless_handlers = &iwm_iw_handler_def; | ||
127 | ndev->ieee80211_ptr = wdev; | 126 | ndev->ieee80211_ptr = wdev; |
128 | SET_NETDEV_DEV(ndev, wiphy_dev(wdev->wiphy)); | 127 | SET_NETDEV_DEV(ndev, wiphy_dev(wdev->wiphy)); |
129 | wdev->netdev = ndev; | 128 | wdev->netdev = ndev; |
diff --git a/drivers/net/wireless/iwmc3200wifi/wext.c b/drivers/net/wireless/iwmc3200wifi/wext.c deleted file mode 100644 index 9196024a2890..000000000000 --- a/drivers/net/wireless/iwmc3200wifi/wext.c +++ /dev/null | |||
@@ -1,95 +0,0 @@ | |||
1 | /* | ||
2 | * Intel Wireless Multicomm 3200 WiFi driver | ||
3 | * | ||
4 | * Copyright (C) 2009 Intel Corporation <ilw@linux.intel.com> | ||
5 | * Samuel Ortiz <samuel.ortiz@intel.com> | ||
6 | * Zhu Yi <yi.zhu@intel.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License version | ||
10 | * 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
20 | * 02110-1301, USA. | ||
21 | * | ||
22 | */ | ||
23 | |||
24 | #include <linux/wireless.h> | ||
25 | #include <net/cfg80211.h> | ||
26 | |||
27 | #include "iwm.h" | ||
28 | #include "commands.h" | ||
29 | |||
30 | static const iw_handler iwm_handlers[] = | ||
31 | { | ||
32 | (iw_handler) NULL, /* SIOCSIWCOMMIT */ | ||
33 | (iw_handler) cfg80211_wext_giwname, /* SIOCGIWNAME */ | ||
34 | (iw_handler) NULL, /* SIOCSIWNWID */ | ||
35 | (iw_handler) NULL, /* SIOCGIWNWID */ | ||
36 | (iw_handler) cfg80211_wext_siwfreq, /* SIOCSIWFREQ */ | ||
37 | (iw_handler) cfg80211_wext_giwfreq, /* SIOCGIWFREQ */ | ||
38 | (iw_handler) cfg80211_wext_siwmode, /* SIOCSIWMODE */ | ||
39 | (iw_handler) cfg80211_wext_giwmode, /* SIOCGIWMODE */ | ||
40 | (iw_handler) NULL, /* SIOCSIWSENS */ | ||
41 | (iw_handler) NULL, /* SIOCGIWSENS */ | ||
42 | (iw_handler) NULL /* not used */, /* SIOCSIWRANGE */ | ||
43 | (iw_handler) cfg80211_wext_giwrange, /* SIOCGIWRANGE */ | ||
44 | (iw_handler) NULL /* not used */, /* SIOCSIWPRIV */ | ||
45 | (iw_handler) NULL /* kernel code */, /* SIOCGIWPRIV */ | ||
46 | (iw_handler) NULL /* not used */, /* SIOCSIWSTATS */ | ||
47 | (iw_handler) NULL /* kernel code */, /* SIOCGIWSTATS */ | ||
48 | (iw_handler) NULL, /* SIOCSIWSPY */ | ||
49 | (iw_handler) NULL, /* SIOCGIWSPY */ | ||
50 | (iw_handler) NULL, /* SIOCSIWTHRSPY */ | ||
51 | (iw_handler) NULL, /* SIOCGIWTHRSPY */ | ||
52 | (iw_handler) cfg80211_wext_siwap, /* SIOCSIWAP */ | ||
53 | (iw_handler) cfg80211_wext_giwap, /* SIOCGIWAP */ | ||
54 | (iw_handler) NULL, /* SIOCSIWMLME */ | ||
55 | (iw_handler) NULL, /* SIOCGIWAPLIST */ | ||
56 | (iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */ | ||
57 | (iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */ | ||
58 | (iw_handler) cfg80211_wext_siwessid, /* SIOCSIWESSID */ | ||
59 | (iw_handler) cfg80211_wext_giwessid, /* SIOCGIWESSID */ | ||
60 | (iw_handler) NULL, /* SIOCSIWNICKN */ | ||
61 | (iw_handler) NULL, /* SIOCGIWNICKN */ | ||
62 | (iw_handler) NULL, /* -- hole -- */ | ||
63 | (iw_handler) NULL, /* -- hole -- */ | ||
64 | (iw_handler) NULL, /* SIOCSIWRATE */ | ||
65 | (iw_handler) cfg80211_wext_giwrate, /* SIOCGIWRATE */ | ||
66 | (iw_handler) cfg80211_wext_siwrts, /* SIOCSIWRTS */ | ||
67 | (iw_handler) cfg80211_wext_giwrts, /* SIOCGIWRTS */ | ||
68 | (iw_handler) cfg80211_wext_siwfrag, /* SIOCSIWFRAG */ | ||
69 | (iw_handler) cfg80211_wext_giwfrag, /* SIOCGIWFRAG */ | ||
70 | (iw_handler) cfg80211_wext_siwtxpower, /* SIOCSIWTXPOW */ | ||
71 | (iw_handler) cfg80211_wext_giwtxpower, /* SIOCGIWTXPOW */ | ||
72 | (iw_handler) NULL, /* SIOCSIWRETRY */ | ||
73 | (iw_handler) NULL, /* SIOCGIWRETRY */ | ||
74 | (iw_handler) cfg80211_wext_siwencode, /* SIOCSIWENCODE */ | ||
75 | (iw_handler) cfg80211_wext_giwencode, /* SIOCGIWENCODE */ | ||
76 | (iw_handler) cfg80211_wext_siwpower, /* SIOCSIWPOWER */ | ||
77 | (iw_handler) cfg80211_wext_giwpower, /* SIOCGIWPOWER */ | ||
78 | (iw_handler) NULL, /* -- hole -- */ | ||
79 | (iw_handler) NULL, /* -- hole -- */ | ||
80 | (iw_handler) cfg80211_wext_siwgenie, /* SIOCSIWGENIE */ | ||
81 | (iw_handler) NULL, /* SIOCGIWGENIE */ | ||
82 | (iw_handler) cfg80211_wext_siwauth, /* SIOCSIWAUTH */ | ||
83 | (iw_handler) cfg80211_wext_giwauth, /* SIOCGIWAUTH */ | ||
84 | (iw_handler) cfg80211_wext_siwencodeext, /* SIOCSIWENCODEEXT */ | ||
85 | (iw_handler) NULL, /* SIOCGIWENCODEEXT */ | ||
86 | (iw_handler) NULL, /* SIOCSIWPMKSA */ | ||
87 | (iw_handler) NULL, /* -- hole -- */ | ||
88 | }; | ||
89 | |||
90 | const struct iw_handler_def iwm_iw_handler_def = { | ||
91 | .num_standard = ARRAY_SIZE(iwm_handlers), | ||
92 | .standard = (iw_handler *) iwm_handlers, | ||
93 | .get_wireless_stats = cfg80211_wireless_stats, | ||
94 | }; | ||
95 | |||
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig index 19a4c66e143e..7dd77b6d4c9a 100644 --- a/net/mac80211/Kconfig +++ b/net/mac80211/Kconfig | |||
@@ -6,7 +6,6 @@ config MAC80211 | |||
6 | select CRYPTO_ARC4 | 6 | select CRYPTO_ARC4 |
7 | select CRYPTO_AES | 7 | select CRYPTO_AES |
8 | select CRC32 | 8 | select CRC32 |
9 | select WIRELESS_EXT | ||
10 | ---help--- | 9 | ---help--- |
11 | This option enables the hardware independent IEEE 802.11 | 10 | This option enables the hardware independent IEEE 802.11 |
12 | networking stack. | 11 | networking stack. |
diff --git a/net/mac80211/Makefile b/net/mac80211/Makefile index 91284a74ff91..9f3cf7129324 100644 --- a/net/mac80211/Makefile +++ b/net/mac80211/Makefile | |||
@@ -3,7 +3,6 @@ obj-$(CONFIG_MAC80211) += mac80211.o | |||
3 | # mac80211 objects | 3 | # mac80211 objects |
4 | mac80211-y := \ | 4 | mac80211-y := \ |
5 | main.o \ | 5 | main.o \ |
6 | wext.o \ | ||
7 | sta_info.o \ | 6 | sta_info.o \ |
8 | wep.o \ | 7 | wep.o \ |
9 | wpa.o \ | 8 | wpa.o \ |
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index c6b25cb73284..aec6853cb435 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <linux/spinlock.h> | 24 | #include <linux/spinlock.h> |
25 | #include <linux/etherdevice.h> | 25 | #include <linux/etherdevice.h> |
26 | #include <net/cfg80211.h> | 26 | #include <net/cfg80211.h> |
27 | #include <net/iw_handler.h> | ||
28 | #include <net/mac80211.h> | 27 | #include <net/mac80211.h> |
29 | #include "key.h" | 28 | #include "key.h" |
30 | #include "sta_info.h" | 29 | #include "sta_info.h" |
@@ -951,9 +950,6 @@ void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata, | |||
951 | void ieee80211_configure_filter(struct ieee80211_local *local); | 950 | void ieee80211_configure_filter(struct ieee80211_local *local); |
952 | u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); | 951 | u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); |
953 | 952 | ||
954 | /* wireless extensions */ | ||
955 | extern const struct iw_handler_def ieee80211_iw_handler_def; | ||
956 | |||
957 | /* STA code */ | 953 | /* STA code */ |
958 | void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); | 954 | void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); |
959 | int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, | 955 | int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, |
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index d79a21105042..6c655b6547fb 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -684,7 +684,6 @@ static void ieee80211_if_setup(struct net_device *dev) | |||
684 | { | 684 | { |
685 | ether_setup(dev); | 685 | ether_setup(dev); |
686 | dev->netdev_ops = &ieee80211_dataif_ops; | 686 | dev->netdev_ops = &ieee80211_dataif_ops; |
687 | dev->wireless_handlers = &ieee80211_iw_handler_def; | ||
688 | dev->destructor = free_netdev; | 687 | dev->destructor = free_netdev; |
689 | } | 688 | } |
690 | 689 | ||
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c index 147772a2977c..45731000eb8d 100644 --- a/net/mac80211/scan.c +++ b/net/mac80211/scan.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/if_arp.h> | 18 | #include <linux/if_arp.h> |
19 | #include <linux/rtnetlink.h> | 19 | #include <linux/rtnetlink.h> |
20 | #include <net/mac80211.h> | 20 | #include <net/mac80211.h> |
21 | #include <net/iw_handler.h> | ||
22 | 21 | ||
23 | #include "ieee80211_i.h" | 22 | #include "ieee80211_i.h" |
24 | #include "driver-ops.h" | 23 | #include "driver-ops.h" |
diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c deleted file mode 100644 index aa250c3e8fda..000000000000 --- a/net/mac80211/wext.c +++ /dev/null | |||
@@ -1,98 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2002-2005, Instant802 Networks, Inc. | ||
3 | * Copyright 2005-2006, Devicescape Software, Inc. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #include <linux/module.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/netdevice.h> | ||
13 | #include <linux/types.h> | ||
14 | #include <linux/slab.h> | ||
15 | #include <linux/skbuff.h> | ||
16 | #include <linux/etherdevice.h> | ||
17 | #include <linux/if_arp.h> | ||
18 | #include <linux/wireless.h> | ||
19 | #include <net/iw_handler.h> | ||
20 | #include <asm/uaccess.h> | ||
21 | |||
22 | #include <net/mac80211.h> | ||
23 | #include "ieee80211_i.h" | ||
24 | #include "led.h" | ||
25 | #include "rate.h" | ||
26 | #include "wpa.h" | ||
27 | #include "aes_ccm.h" | ||
28 | |||
29 | |||
30 | |||
31 | /* Structures to export the Wireless Handlers */ | ||
32 | |||
33 | static const iw_handler ieee80211_handler[] = | ||
34 | { | ||
35 | (iw_handler) NULL, /* SIOCSIWCOMMIT */ | ||
36 | (iw_handler) cfg80211_wext_giwname, /* SIOCGIWNAME */ | ||
37 | (iw_handler) NULL, /* SIOCSIWNWID */ | ||
38 | (iw_handler) NULL, /* SIOCGIWNWID */ | ||
39 | (iw_handler) cfg80211_wext_siwfreq, /* SIOCSIWFREQ */ | ||
40 | (iw_handler) cfg80211_wext_giwfreq, /* SIOCGIWFREQ */ | ||
41 | (iw_handler) cfg80211_wext_siwmode, /* SIOCSIWMODE */ | ||
42 | (iw_handler) cfg80211_wext_giwmode, /* SIOCGIWMODE */ | ||
43 | (iw_handler) NULL, /* SIOCSIWSENS */ | ||
44 | (iw_handler) NULL, /* SIOCGIWSENS */ | ||
45 | (iw_handler) NULL /* not used */, /* SIOCSIWRANGE */ | ||
46 | (iw_handler) cfg80211_wext_giwrange, /* SIOCGIWRANGE */ | ||
47 | (iw_handler) NULL /* not used */, /* SIOCSIWPRIV */ | ||
48 | (iw_handler) NULL /* kernel code */, /* SIOCGIWPRIV */ | ||
49 | (iw_handler) NULL /* not used */, /* SIOCSIWSTATS */ | ||
50 | (iw_handler) NULL /* kernel code */, /* SIOCGIWSTATS */ | ||
51 | (iw_handler) NULL, /* SIOCSIWSPY */ | ||
52 | (iw_handler) NULL, /* SIOCGIWSPY */ | ||
53 | (iw_handler) NULL, /* SIOCSIWTHRSPY */ | ||
54 | (iw_handler) NULL, /* SIOCGIWTHRSPY */ | ||
55 | (iw_handler) cfg80211_wext_siwap, /* SIOCSIWAP */ | ||
56 | (iw_handler) cfg80211_wext_giwap, /* SIOCGIWAP */ | ||
57 | (iw_handler) cfg80211_wext_siwmlme, /* SIOCSIWMLME */ | ||
58 | (iw_handler) NULL, /* SIOCGIWAPLIST */ | ||
59 | (iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */ | ||
60 | (iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */ | ||
61 | (iw_handler) cfg80211_wext_siwessid, /* SIOCSIWESSID */ | ||
62 | (iw_handler) cfg80211_wext_giwessid, /* SIOCGIWESSID */ | ||
63 | (iw_handler) NULL, /* SIOCSIWNICKN */ | ||
64 | (iw_handler) NULL, /* SIOCGIWNICKN */ | ||
65 | (iw_handler) NULL, /* -- hole -- */ | ||
66 | (iw_handler) NULL, /* -- hole -- */ | ||
67 | (iw_handler) cfg80211_wext_siwrate, /* SIOCSIWRATE */ | ||
68 | (iw_handler) cfg80211_wext_giwrate, /* SIOCGIWRATE */ | ||
69 | (iw_handler) cfg80211_wext_siwrts, /* SIOCSIWRTS */ | ||
70 | (iw_handler) cfg80211_wext_giwrts, /* SIOCGIWRTS */ | ||
71 | (iw_handler) cfg80211_wext_siwfrag, /* SIOCSIWFRAG */ | ||
72 | (iw_handler) cfg80211_wext_giwfrag, /* SIOCGIWFRAG */ | ||
73 | (iw_handler) cfg80211_wext_siwtxpower, /* SIOCSIWTXPOW */ | ||
74 | (iw_handler) cfg80211_wext_giwtxpower, /* SIOCGIWTXPOW */ | ||
75 | (iw_handler) cfg80211_wext_siwretry, /* SIOCSIWRETRY */ | ||
76 | (iw_handler) cfg80211_wext_giwretry, /* SIOCGIWRETRY */ | ||
77 | (iw_handler) cfg80211_wext_siwencode, /* SIOCSIWENCODE */ | ||
78 | (iw_handler) cfg80211_wext_giwencode, /* SIOCGIWENCODE */ | ||
79 | (iw_handler) cfg80211_wext_siwpower, /* SIOCSIWPOWER */ | ||
80 | (iw_handler) cfg80211_wext_giwpower, /* SIOCGIWPOWER */ | ||
81 | (iw_handler) NULL, /* -- hole -- */ | ||
82 | (iw_handler) NULL, /* -- hole -- */ | ||
83 | (iw_handler) cfg80211_wext_siwgenie, /* SIOCSIWGENIE */ | ||
84 | (iw_handler) NULL, /* SIOCGIWGENIE */ | ||
85 | (iw_handler) cfg80211_wext_siwauth, /* SIOCSIWAUTH */ | ||
86 | (iw_handler) cfg80211_wext_giwauth, /* SIOCGIWAUTH */ | ||
87 | (iw_handler) cfg80211_wext_siwencodeext, /* SIOCSIWENCODEEXT */ | ||
88 | (iw_handler) NULL, /* SIOCGIWENCODEEXT */ | ||
89 | (iw_handler) NULL, /* SIOCSIWPMKSA */ | ||
90 | (iw_handler) NULL, /* -- hole -- */ | ||
91 | }; | ||
92 | |||
93 | const struct iw_handler_def ieee80211_iw_handler_def = | ||
94 | { | ||
95 | .num_standard = ARRAY_SIZE(ieee80211_handler), | ||
96 | .standard = (iw_handler *) ieee80211_handler, | ||
97 | .get_wireless_stats = cfg80211_wireless_stats, | ||
98 | }; | ||
diff --git a/net/wireless/core.c b/net/wireless/core.c index 442c9f389799..f9fee65dc06a 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include "core.h" | 19 | #include "core.h" |
20 | #include "sysfs.h" | 20 | #include "sysfs.h" |
21 | #include "debugfs.h" | 21 | #include "debugfs.h" |
22 | #include "wext-compat.h" | ||
22 | 23 | ||
23 | /* name for sysfs, %d is appended */ | 24 | /* name for sysfs, %d is appended */ |
24 | #define PHY_NAME "phy" | 25 | #define PHY_NAME "phy" |
@@ -665,6 +666,8 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb, | |||
665 | wdev->sme_state = CFG80211_SME_IDLE; | 666 | wdev->sme_state = CFG80211_SME_IDLE; |
666 | mutex_unlock(&rdev->devlist_mtx); | 667 | mutex_unlock(&rdev->devlist_mtx); |
667 | #ifdef CONFIG_WIRELESS_EXT | 668 | #ifdef CONFIG_WIRELESS_EXT |
669 | if (!dev->wireless_handlers) | ||
670 | dev->wireless_handlers = &cfg80211_wext_handler; | ||
668 | wdev->wext.default_key = -1; | 671 | wdev->wext.default_key = -1; |
669 | wdev->wext.default_mgmt_key = -1; | 672 | wdev->wext.default_mgmt_key = -1; |
670 | wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC; | 673 | wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC; |
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c index 30058a80d7af..097a87d7bae1 100644 --- a/net/wireless/mlme.c +++ b/net/wireless/mlme.c | |||
@@ -8,7 +8,9 @@ | |||
8 | #include <linux/module.h> | 8 | #include <linux/module.h> |
9 | #include <linux/netdevice.h> | 9 | #include <linux/netdevice.h> |
10 | #include <linux/nl80211.h> | 10 | #include <linux/nl80211.h> |
11 | #include <linux/wireless.h> | ||
11 | #include <net/cfg80211.h> | 12 | #include <net/cfg80211.h> |
13 | #include <net/iw_handler.h> | ||
12 | #include "core.h" | 14 | #include "core.h" |
13 | #include "nl80211.h" | 15 | #include "nl80211.h" |
14 | 16 | ||
diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 2a2683f6c04a..67714d7ed5b4 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <net/iw_handler.h> | 14 | #include <net/iw_handler.h> |
15 | #include "core.h" | 15 | #include "core.h" |
16 | #include "nl80211.h" | 16 | #include "nl80211.h" |
17 | #include "wext-compat.h" | ||
17 | 18 | ||
18 | #define IEEE80211_SCAN_RESULT_EXPIRE (15 * HZ) | 19 | #define IEEE80211_SCAN_RESULT_EXPIRE (15 * HZ) |
19 | 20 | ||
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index a19741097989..d2b5d4ce0a00 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c | |||
@@ -8,6 +8,8 @@ | |||
8 | #include <linux/etherdevice.h> | 8 | #include <linux/etherdevice.h> |
9 | #include <linux/if_arp.h> | 9 | #include <linux/if_arp.h> |
10 | #include <linux/workqueue.h> | 10 | #include <linux/workqueue.h> |
11 | #include <linux/wireless.h> | ||
12 | #include <net/iw_handler.h> | ||
11 | #include <net/cfg80211.h> | 13 | #include <net/cfg80211.h> |
12 | #include <net/rtnetlink.h> | 14 | #include <net/rtnetlink.h> |
13 | #include "nl80211.h" | 15 | #include "nl80211.h" |
diff --git a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c index 083e4c33d95d..e4e90e249bab 100644 --- a/net/wireless/wext-compat.c +++ b/net/wireless/wext-compat.c | |||
@@ -1397,3 +1397,43 @@ int cfg80211_wext_giwessid(struct net_device *dev, | |||
1397 | } | 1397 | } |
1398 | } | 1398 | } |
1399 | EXPORT_SYMBOL_GPL(cfg80211_wext_giwessid); | 1399 | EXPORT_SYMBOL_GPL(cfg80211_wext_giwessid); |
1400 | |||
1401 | static const iw_handler cfg80211_handlers[] = { | ||
1402 | [IW_IOCTL_IDX(SIOCGIWNAME)] = (iw_handler) cfg80211_wext_giwname, | ||
1403 | [IW_IOCTL_IDX(SIOCSIWFREQ)] = (iw_handler) cfg80211_wext_siwfreq, | ||
1404 | [IW_IOCTL_IDX(SIOCGIWFREQ)] = (iw_handler) cfg80211_wext_giwfreq, | ||
1405 | [IW_IOCTL_IDX(SIOCSIWMODE)] = (iw_handler) cfg80211_wext_siwmode, | ||
1406 | [IW_IOCTL_IDX(SIOCGIWMODE)] = (iw_handler) cfg80211_wext_giwmode, | ||
1407 | [IW_IOCTL_IDX(SIOCGIWRANGE)] = (iw_handler) cfg80211_wext_giwrange, | ||
1408 | [IW_IOCTL_IDX(SIOCSIWAP)] = (iw_handler) cfg80211_wext_siwap, | ||
1409 | [IW_IOCTL_IDX(SIOCGIWAP)] = (iw_handler) cfg80211_wext_giwap, | ||
1410 | [IW_IOCTL_IDX(SIOCSIWMLME)] = (iw_handler) cfg80211_wext_siwmlme, | ||
1411 | [IW_IOCTL_IDX(SIOCSIWSCAN)] = (iw_handler) cfg80211_wext_siwscan, | ||
1412 | [IW_IOCTL_IDX(SIOCGIWSCAN)] = (iw_handler) cfg80211_wext_giwscan, | ||
1413 | [IW_IOCTL_IDX(SIOCSIWESSID)] = (iw_handler) cfg80211_wext_siwessid, | ||
1414 | [IW_IOCTL_IDX(SIOCGIWESSID)] = (iw_handler) cfg80211_wext_giwessid, | ||
1415 | [IW_IOCTL_IDX(SIOCSIWRATE)] = (iw_handler) cfg80211_wext_siwrate, | ||
1416 | [IW_IOCTL_IDX(SIOCGIWRATE)] = (iw_handler) cfg80211_wext_giwrate, | ||
1417 | [IW_IOCTL_IDX(SIOCSIWRTS)] = (iw_handler) cfg80211_wext_siwrts, | ||
1418 | [IW_IOCTL_IDX(SIOCGIWRTS)] = (iw_handler) cfg80211_wext_giwrts, | ||
1419 | [IW_IOCTL_IDX(SIOCSIWFRAG)] = (iw_handler) cfg80211_wext_siwfrag, | ||
1420 | [IW_IOCTL_IDX(SIOCGIWFRAG)] = (iw_handler) cfg80211_wext_giwfrag, | ||
1421 | [IW_IOCTL_IDX(SIOCSIWTXPOW)] = (iw_handler) cfg80211_wext_siwtxpower, | ||
1422 | [IW_IOCTL_IDX(SIOCGIWTXPOW)] = (iw_handler) cfg80211_wext_giwtxpower, | ||
1423 | [IW_IOCTL_IDX(SIOCSIWRETRY)] = (iw_handler) cfg80211_wext_siwretry, | ||
1424 | [IW_IOCTL_IDX(SIOCGIWRETRY)] = (iw_handler) cfg80211_wext_giwretry, | ||
1425 | [IW_IOCTL_IDX(SIOCSIWENCODE)] = (iw_handler) cfg80211_wext_siwencode, | ||
1426 | [IW_IOCTL_IDX(SIOCGIWENCODE)] = (iw_handler) cfg80211_wext_giwencode, | ||
1427 | [IW_IOCTL_IDX(SIOCSIWPOWER)] = (iw_handler) cfg80211_wext_siwpower, | ||
1428 | [IW_IOCTL_IDX(SIOCGIWPOWER)] = (iw_handler) cfg80211_wext_giwpower, | ||
1429 | [IW_IOCTL_IDX(SIOCSIWGENIE)] = (iw_handler) cfg80211_wext_siwgenie, | ||
1430 | [IW_IOCTL_IDX(SIOCSIWAUTH)] = (iw_handler) cfg80211_wext_siwauth, | ||
1431 | [IW_IOCTL_IDX(SIOCGIWAUTH)] = (iw_handler) cfg80211_wext_giwauth, | ||
1432 | [IW_IOCTL_IDX(SIOCSIWENCODEEXT)]= (iw_handler) cfg80211_wext_siwencodeext, | ||
1433 | }; | ||
1434 | |||
1435 | const struct iw_handler_def cfg80211_wext_handler = { | ||
1436 | .num_standard = ARRAY_SIZE(cfg80211_handlers), | ||
1437 | .standard = cfg80211_handlers, | ||
1438 | .get_wireless_stats = cfg80211_wireless_stats, | ||
1439 | }; | ||
diff --git a/net/wireless/wext-compat.h b/net/wireless/wext-compat.h index c0310d93c2e5..9a3774749589 100644 --- a/net/wireless/wext-compat.h +++ b/net/wireless/wext-compat.h | |||
@@ -1,6 +1,9 @@ | |||
1 | #ifndef __WEXT_COMPAT | 1 | #ifndef __WEXT_COMPAT |
2 | #define __WEXT_COMPAT | 2 | #define __WEXT_COMPAT |
3 | 3 | ||
4 | #include <net/iw_handler.h> | ||
5 | #include <linux/wireless.h> | ||
6 | |||
4 | int cfg80211_ibss_wext_siwfreq(struct net_device *dev, | 7 | int cfg80211_ibss_wext_siwfreq(struct net_device *dev, |
5 | struct iw_request_info *info, | 8 | struct iw_request_info *info, |
6 | struct iw_freq *freq, char *extra); | 9 | struct iw_freq *freq, char *extra); |
@@ -42,4 +45,6 @@ int cfg80211_mgd_wext_giwessid(struct net_device *dev, | |||
42 | struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy, | 45 | struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy, |
43 | struct iw_freq *freq); | 46 | struct iw_freq *freq); |
44 | 47 | ||
48 | |||
49 | extern const struct iw_handler_def cfg80211_wext_handler; | ||
45 | #endif /* __WEXT_COMPAT */ | 50 | #endif /* __WEXT_COMPAT */ |