aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@winlab.rutgers.edu>2008-01-28 11:53:30 -0500
committerLuis R. Rodriguez <mcgrof@winlab.rutgers.edu>2008-01-28 11:53:30 -0500
commit0040e70cf0faee52a85539a591805837469d4b8c (patch)
tree772b4b5d4511299acb1b5caf43884f93fe4c3ba0
parentec1eb529a087ddc749c5939e1954f9c4dd5daad8 (diff)
downloadcompat-wireless-2.6-old-0040e70cf0faee52a85539a591805837469d4b8c.tar.gz
Adds new rndis_wext module, this required adding rndis_host module.
Also: * update compat.diff to reflect the latest API changes * running make install now runs make uninstall to ensure we only have the latest subsystem modules added. * ath5k is disabled, its currently broken. Signed-off-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
-rw-r--r--Makefile8
-rw-r--r--compat/compat.diff298
-rw-r--r--config.mk11
-rwxr-xr-xscripts/admin-update.sh21
4 files changed, 199 insertions, 139 deletions
diff --git a/Makefile b/Makefile
index 80732ce..6603ba6 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,7 @@ NOSTDINC_FLAGS := -I$(src)/include/ -include $(M)/include/net/compat.h $(CFLAGS)
obj-y := net/wireless/ net/mac80211/ net/ieee80211/ \
drivers/ssb/ \
drivers/misc/ \
+ drivers/net/usb/ \
drivers/net/wireless/
else
@@ -50,7 +51,7 @@ $(CREL_CHECK):
@touch $@
@md5sum $(COMPAT_CONFIG) > $(CONFIG_CHECK)
-install: modules
+install: uninstall modules
@$(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \
modules_install
@# All the scripts we can use
@@ -98,6 +99,8 @@ install: modules
@modprobe -l rt2500usb
@modprobe -l rt61pci
@modprobe -l rt73usb
+ @modprobe -l rndis_host
+ @modprobe -l rndis_wext
@modprobe -l rtl8180
@modprobe -l rtl8187
@# rc80211_simple is no longer a module
@@ -115,6 +118,7 @@ uninstall:
@rm -rf $(KLIB)/$(KMODDIR)/net/wireless/
@rm -rf $(KLIB)/$(KMODDIR)/net/ieee80211/
@rm -rf $(KLIB)/$(KMODDIR)/drivers/ssb/
+ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/usb/
@rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/
@# Lets only remove the stuff we are sure we are providing
@# on the misc directory.
@@ -150,6 +154,8 @@ uninstall:
@modprobe -l rt2500usb
@modprobe -l rt61pci
@modprobe -l rt73usb
+ @modprobe -l rndis_host
+ @modprobe -l rndis_wext
@modprobe -l rtl8180
@modprobe -l rtl8187
@# rc80211_simple is no longer a module
diff --git a/compat/compat.diff b/compat/compat.diff
index 3274e83..65dd77a 100644
--- a/compat/compat.diff
+++ b/compat/compat.diff
@@ -1,4 +1,4 @@
---- a/include/net/cfg80211.h.old 2007-11-12 15:35:05.000000000 -0500
+--- a/include/net/cfg80211.h 2007-11-12 15:35:05.000000000 -0500
+++ b/include/net/cfg80211.h 2007-11-12 15:35:14.000000000 -0500
@@ -5,6 +5,7 @@
#include <linux/skbuff.h>
@@ -115,32 +115,6 @@
static struct bus_type ssb_bustype = {
.name = "ssb",
---- a/drivers/net/wireless/adm8211.h 2007-11-15 19:12:07.000000000 -0500
-+++ b/drivers/net/wireless/adm8211.h 2007-11-15 20:01:20.000000000 -0500
-@@ -416,8 +416,13 @@
- #define TDES1_CONTROL_RBS1 (0x00000fff)
-
- /* SRAM offsets */
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23))
-+#define ADM8211_SRAM(x) (priv->revid < ADM8211_REV_BA ? \
-+ ADM8211_SRAM_A_ ## x : ADM8211_SRAM_B_ ## x)
-+#else
- #define ADM8211_SRAM(x) (priv->pdev->revision < ADM8211_REV_BA ? \
- ADM8211_SRAM_A_ ## x : ADM8211_SRAM_B_ ## x)
-+#endif
-
- #define ADM8211_SRAM_INDIV_KEY 0x0000
- #define ADM8211_SRAM_A_SHARE_KEY 0x0160
-@@ -622,6 +627,9 @@
- u8 lnags_threshold;
- struct adm8211_eeprom *eeprom;
- size_t eeprom_len;
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23))
-+ u8 revid;
-+#endif
-
- u32 nar;
-
--- a/drivers/misc/Makefile 2007-11-15 22:15:29.000000000 -0500
+++ b/drivers/misc/Makefile 2007-11-15 22:15:45.000000000 -0500
@@ -3,17 +3,4 @@
@@ -192,13 +166,6 @@
#include <net/arp.h>
#include <net/ieee80211.h>
---- a/net/wireless/Makefile 2007-12-06 01:00:12.000000000 -0500
-+++ b/net/wireless/Makefile 2007-12-06 01:01:51.000000000 -0500
-@@ -1,4 +1,3 @@
--obj-$(CONFIG_WIRELESS_EXT) += wext.o
- obj-$(CONFIG_CFG80211) += cfg80211.o
-
- cfg80211-y += core.o sysfs.o radiotap.o
--- a/drivers/net/wireless/libertas/dev.h 2007-12-18 12:49:31.000000000 -0500
+++ b/drivers/net/wireless/libertas/dev.h 2007-12-18 12:53:34.000000000 -0500
@@ -10,6 +10,7 @@
@@ -249,66 +216,6 @@
#include <linux/rcupdate.h>
#include <net/cfg80211.h>
#include "ieee80211_i.h"
---- a/drivers/net/wireless/Makefile 2007-12-20 14:42:54.000000000 -0500
-+++ b/drivers/net/wireless/Makefile 2007-12-20 14:42:54.000000000 -0500
-@@ -6,47 +6,10 @@
-
- obj-$(CONFIG_IPW2200) += ipw2200.o
-
--obj-$(CONFIG_STRIP) += strip.o
--obj-$(CONFIG_ARLAN) += arlan.o
--
--arlan-objs := arlan-main.o arlan-proc.o
--
--# Obsolete cards
--obj-$(CONFIG_WAVELAN) += wavelan.o
--obj-$(CONFIG_PCMCIA_NETWAVE) += netwave_cs.o
--obj-$(CONFIG_PCMCIA_WAVELAN) += wavelan_cs.o
--
--obj-$(CONFIG_HERMES) += orinoco.o hermes.o
--obj-$(CONFIG_PCMCIA_HERMES) += orinoco_cs.o
--obj-$(CONFIG_APPLE_AIRPORT) += airport.o
--obj-$(CONFIG_PLX_HERMES) += orinoco_plx.o
--obj-$(CONFIG_PCI_HERMES) += orinoco_pci.o
--obj-$(CONFIG_TMD_HERMES) += orinoco_tmd.o
--obj-$(CONFIG_NORTEL_HERMES) += orinoco_nortel.o
--obj-$(CONFIG_PCMCIA_SPECTRUM) += spectrum_cs.o
--
--obj-$(CONFIG_AIRO) += airo.o
--obj-$(CONFIG_AIRO_CS) += airo_cs.o airo.o
--
--obj-$(CONFIG_ATMEL) += atmel.o
--obj-$(CONFIG_PCI_ATMEL) += atmel_pci.o
--obj-$(CONFIG_PCMCIA_ATMEL) += atmel_cs.o
--
--obj-$(CONFIG_USB_ATMEL) += at76_usb.o
--
--obj-$(CONFIG_PRISM54) += prism54/
--
--obj-$(CONFIG_HOSTAP) += hostap/
--obj-$(CONFIG_BCM43XX) += bcm43xx/
- obj-$(CONFIG_B43) += b43/
- obj-$(CONFIG_B43LEGACY) += b43legacy/
- obj-$(CONFIG_ZD1211RW) += zd1211rw/
-
--# 16-bit wireless PCMCIA client drivers
--obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o
--obj-$(CONFIG_PCMCIA_WL3501) += wl3501_cs.o
--
--obj-$(CONFIG_USB_ZD1201) += zd1201.o
- obj-$(CONFIG_LIBERTAS) += libertas/
-
- rtl8180-objs := rtl8180_dev.o rtl8180_rtl8225.o rtl8180_sa2400.o rtl8180_max2820.o rtl8180_grf5101.o
---- a/net/mac80211/Makefile 2008-01-08 15:41:04.000000000 -0500
-+++ b/net/mac80211/Makefile 2008-01-08 15:42:10.000000000 -0500
-@@ -27,6 +27,7 @@
- tx.o \
- key.o \
- util.o \
-+ compat.o \
- event.o
-
- mac80211-$(CONFIG_MAC80211_LEDS) += ieee80211_led.o
--- a/drivers/ssb/scan.c 2008-01-08 17:59:08.000000000 -0500
+++ b/drivers/ssb/scan.c 2008-01-08 17:58:58.000000000 -0500
@@ -392,10 +392,18 @@
@@ -330,9 +237,74 @@
continue;
}
}
---- a/drivers/net/wireless/adm8211.c 2008-01-08 18:01:47.000000000 -0500
-+++ b/drivers/net/wireless/adm8211.c 2008-01-08 18:01:47.000000000 -0500
-@@ -117,7 +117,11 @@
+--- a/drivers/net/wireless/adm8211.h 2008-01-26 19:37:05.000000000 -0500
++++ b/drivers/net/wireless/adm8211.h 2008-01-26 19:37:05.000000000 -0500
+@@ -416,8 +416,13 @@
+ #define TDES1_CONTROL_RBS1 (0x00000fff)
+
+ /* SRAM offsets */
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23))
++#define ADM8211_SRAM(x) (priv->revid < ADM8211_REV_BA ? \
++ ADM8211_SRAM_A_ ## x : ADM8211_SRAM_B_ ## x)
++#else
+ #define ADM8211_SRAM(x) (priv->pdev->revision < ADM8211_REV_BA ? \
+ ADM8211_SRAM_A_ ## x : ADM8211_SRAM_B_ ## x)
++#endif
+
+ #define ADM8211_SRAM_INDIV_KEY 0x0000
+ #define ADM8211_SRAM_A_SHARE_KEY 0x0160
+@@ -566,6 +571,9 @@
+ u8 lnags_threshold;
+ struct adm8211_eeprom *eeprom;
+ size_t eeprom_len;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23))
++ u8 revid;
++#endif
+
+ u32 nar;
+
+--- a/net/wireless/Makefile 2008-01-26 19:37:05.000000000 -0500
++++ b/net/wireless/Makefile 2008-01-26 19:37:05.000000000 -0500
+@@ -1,4 +1,3 @@
+-obj-$(CONFIG_WIRELESS_EXT) += wext.o
+ obj-$(CONFIG_CFG80211) += cfg80211.o
+
+ cfg80211-y += core.o sysfs.o radiotap.o util.o reg.o
+--- a/net/mac80211/Makefile 2008-01-26 19:37:05.000000000 -0500
++++ b/net/mac80211/Makefile 2008-01-26 19:37:05.000000000 -0500
+@@ -26,6 +26,7 @@
+ tx.o \
+ key.o \
+ util.o \
++ compat.o \
+ event.o
+
+ mac80211-$(CONFIG_MAC80211_LEDS) += ieee80211_led.o
+--- a/net/mac80211/ieee80211.c 2008-01-26 19:37:05.000000000 -0500
++++ b/net/mac80211/ieee80211.c 2008-01-26 19:37:05.000000000 -0500
+@@ -21,7 +21,9 @@
+ #include <linux/wireless.h>
+ #include <linux/rtnetlink.h>
+ #include <linux/bitmap.h>
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
+ #include <net/net_namespace.h>
++#endif
+ #include <net/cfg80211.h>
+
+ #include "ieee80211_i.h"
+@@ -1084,7 +1086,9 @@
+ mdev->open = ieee80211_master_open;
+ mdev->stop = ieee80211_master_stop;
+ mdev->type = ARPHRD_IEEE80211;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
+ mdev->header_ops = &ieee80211_header_ops;
++#endif
+ mdev->set_multicast_list = ieee80211_master_set_multicast_list;
+
+ sdata->vif.type = IEEE80211_IF_TYPE_AP;
+--- a/drivers/net/wireless/adm8211.c 2008-01-26 19:37:05.000000000 -0500
++++ b/drivers/net/wireless/adm8211.c 2008-01-26 19:37:05.000000000 -0500
+@@ -143,7 +143,11 @@
break;
default:
@@ -344,7 +316,7 @@
priv->rf_type = ADM8211_TYPE_RFMD;
else
priv->rf_type = ADM8211_TYPE_AIROHA;
-@@ -135,7 +139,11 @@
+@@ -161,7 +165,11 @@
case ADM8211_TYPE_ADMTEK:
break;
default:
@@ -356,7 +328,7 @@
priv->bbp_type = ADM8211_TYPE_RFMD;
else
priv->bbp_type = ADM8211_TYPE_ADMTEK;
-@@ -175,7 +183,11 @@
+@@ -201,7 +209,11 @@
break;
default:
@@ -368,7 +340,7 @@
priv->specific_bbptype = ADM8211_BBP_RFMD3000;
else
priv->specific_bbptype = ADM8211_BBP_ADM8011;
-@@ -194,11 +206,23 @@
+@@ -220,11 +232,23 @@
break;
default:
@@ -392,7 +364,7 @@
priv->transceiver_type = ADM8211_RFMD2948;
printk(KERN_WARNING "%s (adm8211): Unknown transceiver: %d\n",
-@@ -220,7 +244,11 @@
+@@ -246,7 +270,11 @@
struct adm8211_priv *priv = dev->priv;
ADM8211_CSR_WRITE(WEPCTL, addr | ADM8211_WEPCTL_TABLE_WR |
@@ -404,7 +376,7 @@
0 : ADM8211_WEPCTL_SEL_WEPTABLE ));
ADM8211_CSR_READ(WEPCTL);
msleep(1);
-@@ -238,7 +266,11 @@
+@@ -264,7 +292,11 @@
u32 reg = ADM8211_CSR_READ(WEPCTL);
unsigned int i;
@@ -416,7 +388,7 @@
for (i = 0; i < len; i += 2) {
u16 val = buf[i] | (buf[i + 1] << 8);
adm8211_write_sram(dev, addr + i / 2, val);
-@@ -420,7 +452,11 @@
+@@ -445,7 +477,11 @@
if (skb) {
struct ieee80211_rx_status rx_status = {0};
@@ -428,7 +400,7 @@
rx_status.ssi = rssi;
else
rx_status.ssi = 100 - rssi;
-@@ -702,7 +738,11 @@
+@@ -725,7 +761,11 @@
adm8211_rf_write_syn_rfmd2958(dev, 0x0A, reg);
/* set TXRX TX_GAIN */
adm8211_rf_write_syn_rfmd2958(dev, 0x09, 0x00050 |
@@ -440,7 +412,7 @@
} else {
reg = ADM8211_CSR_READ(PLCPHD);
reg &= 0xff00ffff;
-@@ -721,7 +761,11 @@
+@@ -744,7 +784,11 @@
tx_power<<2);
adm8211_write_bbp(dev, RF3000_LOW_GAIN_CALIB, lpf_cutoff);
adm8211_write_bbp(dev, RF3000_HIGH_GAIN_CALIB, lnags_thresh);
@@ -452,7 +424,7 @@
priv->eeprom->cr28 : 0);
adm8211_write_bbp(dev, 0x1d, priv->eeprom->cr29);
-@@ -760,7 +804,11 @@
+@@ -783,7 +827,11 @@
priv->nar |= ADM8211_NAR_EA | ADM8211_NAR_ST | ADM8211_NAR_SR;
/* don't trust the error bits on rev 0x20 and up in adhoc */
@@ -464,7 +436,7 @@
priv->soft_rx_crc = 1;
break;
case IEEE80211_IF_TYPE_MNTR:
-@@ -861,7 +909,11 @@
+@@ -884,7 +932,11 @@
break;
}
@@ -476,7 +448,7 @@
case ADM8211_REV_CA:
if (priv->transceiver_type == ADM8211_RFMD2958 ||
priv->transceiver_type == ADM8211_RFMD2958_RF3000_CONTROL_POWER ||
-@@ -919,7 +971,11 @@
+@@ -942,7 +994,11 @@
adm8211_write_bbp(dev, 0x1c, 0x00);
adm8211_write_bbp(dev, 0x1d, 0x80);
} else {
@@ -488,7 +460,7 @@
adm8211_write_bbp(dev, 0x1c, priv->eeprom->cr28);
else
adm8211_write_bbp(dev, 0x1c, 0x00);
-@@ -1051,7 +1107,11 @@
+@@ -1074,7 +1130,11 @@
u8 rate_buf[12] = {0};
/* write supported rates */
@@ -499,8 +471,8 @@
+#endif
rate_buf[0] = ARRAY_SIZE(adm8211_rates);
for (i = 0; i < ARRAY_SIZE(adm8211_rates); i++)
- rate_buf[i + 1] = (adm8211_rates[i].rate / 5) | 0x80;
-@@ -1135,7 +1195,11 @@
+ rate_buf[i + 1] = (adm8211_rates[i].bitrate / 5) | 0x80;
+@@ -1158,7 +1218,11 @@
* PWR0PE2 = 13 us
* PWR1PE2 = 1 us
* PWR0TXPE = 8 or 6 */
@@ -512,7 +484,7 @@
ADM8211_CSR_WRITE(TOFS2, 0x8815cd18);
else
ADM8211_CSR_WRITE(TOFS2, 0x8535cd16);
-@@ -1164,7 +1228,11 @@
+@@ -1187,7 +1251,11 @@
/* SLOT=20 us, SIFS=110 cycles of 22 MHz (5 us),
* DIFS=50 us, EIFS=100 us */
@@ -524,7 +496,7 @@
ADM8211_CSR_WRITE(IFST, (20 << 23) | (110 << 15) |
(50 << 9) | 100);
else
-@@ -1223,13 +1291,21 @@
+@@ -1246,13 +1314,21 @@
ADM8211_CSR_WRITE(PAR, tmp);
@@ -546,7 +518,7 @@
reg = ADM8211_CSR_READ(CSR_TEST1);
reg &= ~((1 << 4) | (1 << 5));
ADM8211_CSR_WRITE(CSR_TEST1, reg);
-@@ -1867,6 +1943,9 @@
+@@ -1891,6 +1967,9 @@
pci_name(pdev));
goto err_iounmap;
}
@@ -556,7 +528,7 @@
*(__le32 *)perm_addr = cpu_to_le32(ADM8211_CSR_READ(PAR0));
*(__le16 *)&perm_addr[4] =
-@@ -1902,7 +1981,11 @@
+@@ -1919,7 +1998,11 @@
priv->mode = IEEE80211_IF_TYPE_INVALID;
/* Power-on issue. EEPROM won't read correctly without */
@@ -568,7 +540,7 @@
ADM8211_CSR_WRITE(FRCTL, 0);
ADM8211_CSR_READ(FRCTL);
ADM8211_CSR_WRITE(FRCTL, 1);
-@@ -1935,7 +2018,11 @@
+@@ -1945,7 +2028,11 @@
printk(KERN_INFO "%s: hwaddr %s, Rev 0x%02x\n",
wiphy_name(dev->wiphy), print_mac(mac, dev->wiphy->perm_addr),
@@ -580,25 +552,79 @@
return 0;
---- a/net/mac80211/ieee80211.c 2008-01-20 17:33:12.000000000 -0500
-+++ b/net/mac80211/ieee80211.c 2008-01-20 17:33:12.000000000 -0500
-@@ -21,7 +21,9 @@
- #include <linux/wireless.h>
- #include <linux/rtnetlink.h>
- #include <linux/bitmap.h>
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
- #include <net/net_namespace.h>
-+#endif
- #include <net/cfg80211.h>
+--- a/drivers/net/wireless/Makefile 2008-01-26 19:37:05.000000000 -0500
++++ b/drivers/net/wireless/Makefile 2008-01-26 19:45:21.000000000 -0500
+@@ -6,49 +6,12 @@
- #include "ieee80211_i.h"
-@@ -1095,7 +1097,9 @@
- mdev->open = ieee80211_master_open;
- mdev->stop = ieee80211_master_stop;
- mdev->type = ARPHRD_IEEE80211;
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
- mdev->header_ops = &ieee80211_header_ops;
-+#endif
- mdev->set_multicast_list = ieee80211_master_set_multicast_list;
+ obj-$(CONFIG_IPW2200) += ipw2200.o
- sdata->vif.type = IEEE80211_IF_TYPE_AP;
+-obj-$(CONFIG_STRIP) += strip.o
+-obj-$(CONFIG_ARLAN) += arlan.o
+-
+-arlan-objs := arlan-main.o arlan-proc.o
+-
+-# Obsolete cards
+-obj-$(CONFIG_WAVELAN) += wavelan.o
+-obj-$(CONFIG_PCMCIA_NETWAVE) += netwave_cs.o
+-obj-$(CONFIG_PCMCIA_WAVELAN) += wavelan_cs.o
+-
+-obj-$(CONFIG_HERMES) += orinoco.o hermes.o
+-obj-$(CONFIG_PCMCIA_HERMES) += orinoco_cs.o
+-obj-$(CONFIG_APPLE_AIRPORT) += airport.o
+-obj-$(CONFIG_PLX_HERMES) += orinoco_plx.o
+-obj-$(CONFIG_PCI_HERMES) += orinoco_pci.o
+-obj-$(CONFIG_TMD_HERMES) += orinoco_tmd.o
+-obj-$(CONFIG_NORTEL_HERMES) += orinoco_nortel.o
+-obj-$(CONFIG_PCMCIA_SPECTRUM) += spectrum_cs.o
+-
+-obj-$(CONFIG_AIRO) += airo.o
+-obj-$(CONFIG_AIRO_CS) += airo_cs.o airo.o
+-
+-obj-$(CONFIG_ATMEL) += atmel.o
+-obj-$(CONFIG_PCI_ATMEL) += atmel_pci.o
+-obj-$(CONFIG_PCMCIA_ATMEL) += atmel_cs.o
+-
+-obj-$(CONFIG_USB_ATMEL) += at76_usb.o
+-
+-obj-$(CONFIG_PRISM54) += prism54/
+-
+-obj-$(CONFIG_HOSTAP) += hostap/
+-obj-$(CONFIG_BCM43XX) += bcm43xx/
+ obj-$(CONFIG_B43) += b43/
+ obj-$(CONFIG_B43LEGACY) += b43legacy/
+ obj-$(CONFIG_ZD1211RW) += zd1211rw/
+
+-# 16-bit wireless PCMCIA client drivers
+-obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o
+-obj-$(CONFIG_PCMCIA_WL3501) += wl3501_cs.o
+-
+ obj-$(CONFIG_USB_NET_RNDIS_WEXT) += rndis_wext.o
+
+-obj-$(CONFIG_USB_ZD1201) += zd1201.o
+ obj-$(CONFIG_LIBERTAS) += libertas/
+
+ rtl8180-objs := rtl8180_dev.o rtl8180_rtl8225.o rtl8180_sa2400.o rtl8180_max2820.o rtl8180_grf5101.o
+--- a/drivers/net/usb/Makefile 2008-01-28 11:00:13.000000000 -0500
++++ b/drivers/net/usb/Makefile 2008-01-28 11:00:31.000000000 -0500
+@@ -2,21 +2,7 @@
+ # Makefile for USB Network drivers
+ #
+
+-obj-$(CONFIG_USB_CATC) += catc.o
+-obj-$(CONFIG_USB_KAWETH) += kaweth.o
+-obj-$(CONFIG_USB_PEGASUS) += pegasus.o
+-obj-$(CONFIG_USB_RTL8150) += rtl8150.o
+-obj-$(CONFIG_USB_NET_AX8817X) += asix.o
+-obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
+-obj-$(CONFIG_USB_NET_DM9601) += dm9601.o
+-obj-$(CONFIG_USB_NET_GL620A) += gl620a.o
+-obj-$(CONFIG_USB_NET_NET1080) += net1080.o
+-obj-$(CONFIG_USB_NET_PLUSB) += plusb.o
+ obj-$(CONFIG_USB_NET_RNDIS_HOST) += rndis_host.o
+-obj-$(CONFIG_USB_NET_CDC_SUBSET) += cdc_subset.o
+-obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o
+-obj-$(CONFIG_USB_NET_MCS7830) += mcs7830.o
+-obj-$(CONFIG_USB_USBNET) += usbnet.o
+
+ ifeq ($(CONFIG_USB_DEBUG),y)
+ EXTRA_CFLAGS += -DDEBUG
diff --git a/config.mk b/config.mk
index 5239636..2b6c7c4 100644
--- a/config.mk
+++ b/config.mk
@@ -14,7 +14,8 @@ CONFIG_CFG80211=m
CONFIG_NL80211=y
# Drivers
-CONFIG_ATH5K=m
+# Note: currently broken, needs updating after new mode changes
+CONFIG_ATH5K=n
CONFIG_IWL3945=m
CONFIG_IWL4965=m
CONFIG_ZD1211RW=m
@@ -42,6 +43,14 @@ CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# This is required for some cards
CONFIG_EEPROM_93CX6=m
+# Wireless RNDIS USB support (RTL8185 802.11g) A-Link WL54PC
+# All of these devices are based on Broadcom 4320 chip which
+# is only wireless RNDIS chip known to date.
+# Note: this depends on CONFIG_USB_NET_RNDIS_HOST and CONFIG_USB_NET_CDCETHER
+# it also requires a new RNDIS_HOST module which we add
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_RNDIS_WEXT=m
+
# Realtek
CONFIG_RTL8180=m
CONFIG_RTL8187=m
diff --git a/scripts/admin-update.sh b/scripts/admin-update.sh
index 1f18e16..4d2d328 100755
--- a/scripts/admin-update.sh
+++ b/scripts/admin-update.sh
@@ -19,6 +19,9 @@ GIT_URL="git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
INCLUDE_LINUX="ieee80211.h nl80211.h wireless.h"
INCLUDE_LINUX="$INCLUDE_LINUX pci_ids.h bitops.h eeprom_93cx6.h"
+# For rndis_wext
+INCLUDE_LINUX_USB="usbnet.h rndis_host.h"
+
# Stuff that should die or be merged, only ipw uses it
INCLUDE_NET_OLD="ieee80211.h ieee80211_crypt.h"
# The good new yummy stuff
@@ -67,10 +70,12 @@ DRIVER_FILES="$DRIVER_FILES p54pci.h p54pci.c"
DRIVER_FILES="$DRIVER_FILES p54usb.h p54usb.c"
DRIVER_FILES="$DRIVER_FILES ipw2100.h ipw2100.c"
DRIVER_FILES="$DRIVER_FILES ipw2200.h ipw2200.c"
+DRIVER_FILES="$DRIVER_FILES rndis_wext.c"
-mkdir -p include/linux/ include/net/ \
+mkdir -p include/linux/ include/net/ include/linux/usb \
net/mac80211/ net/wireless/ net/ieee80211/ \
drivers/ssb/ \
+ drivers/net/usb/ \
drivers/net/wireless/
# include/linux
@@ -89,6 +94,12 @@ for i in $INCLUDE_NET; do
cp "$GIT_TREE/$DIR/$i" $DIR/
done
+DIR="include/linux/usb"
+for i in $INCLUDE_LINUX_USB; do
+ echo "Copying $GIT_TREE/$DIR/$i"
+ cp $GIT_TREE/$DIR/$i $DIR/
+done
+
# net/wireless and net/mac80211
for i in $NET_DIRS; do
echo "Copying $GIT_TREE/net/$i/*.[ch]"
@@ -100,11 +111,19 @@ done
# Drivers in their own directory
for i in $DRIVERS; do
mkdir -p $i
+ echo "Copying $GIT_TREE/$i/*.[ch]"
cp $GIT_TREE/$i/*.[ch] $i/
cp $GIT_TREE/$i/Makefile $i/
rm -f $i/*.mod.c
done
+# For rndis_wext, we need a new rndis_host
+DIR="drivers/net/usb"
+echo "Copying $GIT_TREE/$DIR/rndis_host.c"
+cp $GIT_TREE/$DIR/rndis_host.c $DIR/
+echo "Copying $GIT_TREE/$DIR/Makefile"
+cp $GIT_TREE/$DIR/Makefile $DIR/
+
# Misc
mkdir -p drivers/misc/
cp $GIT_TREE/drivers/misc/eeprom_93cx6.c drivers/misc/