diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2008-04-15 19:54:53 -0700 |
---|---|---|
committer | Luis R. Rodriguez <lrodriguez@atheros.com> | 2008-04-15 19:54:53 -0700 |
commit | 07e58f688d541cf3530074c19b43d66386b65be6 (patch) | |
tree | 4711c0224defb668e6061a70a93a6ede2febad85 | |
parent | 90889dec3a241c43cc2fbfdff90ee4e0360a72af (diff) | |
download | compat-wireless-2.6-old-07e58f688d541cf3530074c19b43d66386b65be6.tar.gz |
Update compat-wireless to reflect new changes, also
select SSB_BLOCKIO when B43_PIO is used.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
-rw-r--r-- | compat/compat.diff | 498 | ||||
-rw-r--r-- | config.mk | 2 | ||||
-rwxr-xr-x | scripts/admin-update.sh | 6 |
3 files changed, 253 insertions, 253 deletions
diff --git a/compat/compat.diff b/compat/compat.diff index 84512d8..38f5191 100644 --- a/compat/compat.diff +++ b/compat/compat.diff @@ -8,32 +8,6 @@ /* * 802.11 configuration in-kernel interface ---- a/net/mac80211/tx.c 2008-02-28 19:54:52.000000000 +0100 -+++ b/net/mac80211/tx.c 2008-02-28 19:55:23.000000000 +0100 -@@ -18,7 +18,9 @@ - #include <linux/etherdevice.h> - #include <linux/bitmap.h> - #include <linux/rcupdate.h> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) - #include <net/net_namespace.h> -+#endif - #include <net/ieee80211_radiotap.h> - #include <net/cfg80211.h> - #include <net/mac80211.h> -@@ -1617,8 +1619,13 @@ int ieee80211_subif_start_xmit(struct sk - pkt_data->flags |= IEEE80211_TXPD_EAPOL_FRAME; - - skb->dev = local->mdev; -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)) -+ sdata->stats.tx_packets++; -+ sdata->stats.tx_bytes += skb->len; -+#else - dev->stats.tx_packets++; - dev->stats.tx_bytes += skb->len; -+#endif - - /* Update skb pointers to various headers since this modified frame - * is going to go through Linux networking code that may potentially --- a/net/wireless/sysfs.c 2008-02-28 19:54:52.000000000 +0100 +++ b/net/wireless/sysfs.c 2008-02-28 19:54:53.000000000 +0100 @@ -52,6 +52,7 @@ static void wiphy_dev_release(struct dev @@ -91,24 +65,6 @@ struct pcmcia_device; ---- a/net/mac80211/util.c 2008-02-28 19:54:52.000000000 +0100 -+++ b/net/mac80211/util.c 2008-02-28 19:54:53.000000000 +0100 -@@ -20,9 +20,15 @@ - #include <linux/if_arp.h> - #include <linux/wireless.h> - #include <linux/bitmap.h> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) - #include <net/net_namespace.h> -+#endif - #include <net/cfg80211.h> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)) - #include <net/rtnetlink.h> -+#else -+#include <linux/rtnetlink.h> -+#endif - - #include "ieee80211_i.h" - #include "ieee80211_rate.h" --- a/net/ieee80211/ieee80211_module.c 2008-02-28 19:54:52.000000000 +0100 +++ b/net/ieee80211/ieee80211_module.c 2008-02-28 19:54:53.000000000 +0100 @@ -47,7 +47,9 @@ @@ -121,16 +77,6 @@ #include <net/arp.h> #include <net/ieee80211.h> ---- a/drivers/net/wireless/libertas/dev.h 2008-02-28 19:54:52.000000000 +0100 -+++ b/drivers/net/wireless/libertas/dev.h 2008-02-28 19:54:53.000000000 +0100 -@@ -10,6 +10,7 @@ - #include <linux/wireless.h> - #include <linux/ethtool.h> - #include <linux/debugfs.h> -+#include <net/compat.h> - - #include "defs.h" - #include "scan.h" --- a/net/mac80211/cfg.c 2008-02-28 19:54:52.000000000 +0100 +++ b/net/mac80211/cfg.c 2008-02-28 19:54:53.000000000 +0100 @@ -9,7 +9,9 @@ @@ -299,9 +245,219 @@ obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o -obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o -obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o ---- a/drivers/net/wireless/adm8211.c 2008-02-28 19:54:52.000000000 +0100 -+++ b/drivers/net/wireless/adm8211.c 2008-02-28 19:54:53.000000000 +0100 -@@ -143,7 +143,11 @@ static int adm8211_read_eeprom(struct ie +--- a/net/wireless/core.c 2008-02-28 19:54:52.000000000 +0100 ++++ b/net/wireless/core.c 2008-02-28 19:54:53.000000000 +0100 +@@ -71,9 +71,9 @@ __cfg80211_drv_from_info(struct genl_inf + ifindex = nla_get_u32(info->attrs[NL80211_ATTR_IFINDEX]); + dev = dev_get_by_index(&init_net, ifindex); + if (dev) { +- if (dev->ieee80211_ptr) ++ if (((struct wireless_dev *)dev->ieee80211_ptr)) + byifidx = +- wiphy_to_dev(dev->ieee80211_ptr->wiphy); ++ wiphy_to_dev(((struct wireless_dev *)dev->ieee80211_ptr)->wiphy); + dev_put(dev); + } + err = -ENODEV; +@@ -123,8 +123,8 @@ cfg80211_get_dev_from_ifindex(int ifinde + dev = dev_get_by_index(&init_net, ifindex); + if (!dev) + goto out; +- if (dev->ieee80211_ptr) { +- drv = wiphy_to_dev(dev->ieee80211_ptr->wiphy); ++ if (((struct wireless_dev *)dev->ieee80211_ptr)) { ++ drv = wiphy_to_dev(((struct wireless_dev *)dev->ieee80211_ptr)->wiphy); + mutex_lock(&drv->mtx); + } else + drv = ERR_PTR(-ENODEV); +@@ -345,28 +345,28 @@ static int cfg80211_netdev_notifier_call + struct net_device *dev = ndev; + struct cfg80211_registered_device *rdev; + +- if (!dev->ieee80211_ptr) ++ if (!((struct wireless_dev *)dev->ieee80211_ptr)) + return 0; + +- rdev = wiphy_to_dev(dev->ieee80211_ptr->wiphy); ++ rdev = wiphy_to_dev(((struct wireless_dev *)dev->ieee80211_ptr)->wiphy); + + switch (state) { + case NETDEV_REGISTER: + mutex_lock(&rdev->devlist_mtx); +- list_add(&dev->ieee80211_ptr->list, &rdev->netdev_list); ++ list_add(&((struct wireless_dev *)dev->ieee80211_ptr)->list, &rdev->netdev_list); + if (sysfs_create_link(&dev->dev.kobj, &rdev->wiphy.dev.kobj, + "phy80211")) { + printk(KERN_ERR "wireless: failed to add phy80211 " + "symlink to netdev!\n"); + } +- dev->ieee80211_ptr->netdev = dev; ++ ((struct wireless_dev *)dev->ieee80211_ptr)->netdev = dev; + mutex_unlock(&rdev->devlist_mtx); + break; + case NETDEV_UNREGISTER: + mutex_lock(&rdev->devlist_mtx); +- if (!list_empty(&dev->ieee80211_ptr->list)) { ++ if (!list_empty(&((struct wireless_dev *)dev->ieee80211_ptr)->list)) { + sysfs_remove_link(&dev->dev.kobj, "phy80211"); +- list_del_init(&dev->ieee80211_ptr->list); ++ list_del_init(&((struct wireless_dev *)dev->ieee80211_ptr)->list); + } + mutex_unlock(&rdev->devlist_mtx); + break; +--- a/net/wireless/nl80211.c 2008-02-28 19:54:52.000000000 +0100 ++++ b/net/wireless/nl80211.c 2008-02-28 19:54:53.000000000 +0100 +@@ -1062,7 +1062,7 @@ static int get_vlan(struct nlattr *vlana + return -ENODEV; + if (!(*vlan)->ieee80211_ptr) + return -EINVAL; +- if ((*vlan)->ieee80211_ptr->wiphy != &rdev->wiphy) ++ if (((struct wireless_dev *)(*vlan)->ieee80211_ptr)->wiphy != &rdev->wiphy) + return -EINVAL; + } + return 0; +--- a/drivers/net/wireless/zd1211rw/zd_mac.c 2008-03-07 20:02:06.000000000 -0500 ++++ b/drivers/net/wireless/zd1211rw/zd_mac.c 2008-03-07 20:02:07.000000000 -0500 +@@ -1042,5 +1042,5 @@ + dev_dbg_f(zd_mac_dev(mac), "\n"); + cancel_rearming_delayed_workqueue(zd_workqueue, + &mac->housekeeping.link_led_work); +- zd_chip_control_leds(&mac->chip, LED_OFF); ++ zd_chip_control_leds(&mac->chip, LED_OFF_ZD); + } +--- a/drivers/net/wireless/zd1211rw/zd_chip.c 2008-03-07 20:02:06.000000000 -0500 ++++ b/drivers/net/wireless/zd1211rw/zd_chip.c 2008-03-07 20:02:07.000000000 -0500 +@@ -1281,7 +1281,7 @@ + other_led = chip->link_led == LED1 ? LED2 : LED1; + + switch (status) { +- case LED_OFF: ++ case LED_OFF_ZD: + ioreqs[0].value = FW_LINK_OFF; + ioreqs[1].value = v[1] & ~(LED1|LED2); + break; +--- a/drivers/net/wireless/zd1211rw/zd_chip.h 2008-03-07 20:02:06.000000000 -0500 ++++ b/drivers/net/wireless/zd1211rw/zd_chip.h 2008-03-07 20:02:07.000000000 -0500 +@@ -897,7 +897,7 @@ + int zd_chip_unlock_phy_regs(struct zd_chip *chip); + + enum led_status { +- LED_OFF = 0, ++ LED_OFF_ZD = 0, + LED_SCANNING = 1, + LED_ASSOCIATED = 2, + }; +--- a/drivers/net/wireless/ath5k/hw.c 2008-03-14 10:32:35.000000000 -0400 ++++ b/drivers/net/wireless/ath5k/hw.c 2008-03-14 10:32:36.000000000 -0400 +@@ -385,7 +385,11 @@ + /* reseting PCI on PCI-E cards results card to hang + * and always return 0xffff... so we ingore that flag + * for PCI-E cards */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) ++ bus_flags = (compat_is_pcie(pdev)) ? 0 : AR5K_RESET_CTL_PCI; ++#else + bus_flags = (pdev->is_pcie) ? 0 : AR5K_RESET_CTL_PCI; ++#endif + + /* Reset chipset */ + ret = ath5k_hw_nic_reset(ah, AR5K_RESET_CTL_PCU | +@@ -937,7 +941,11 @@ + * TODO: Check out tx triger level, it's always 64 on dumps but I + * guess we can tweak it and see how it goes ;-) + */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) ++ dma_size = (compat_is_pcie(pdev)) ? AR5K_DMASIZE_128B : AR5K_DMASIZE_512B; ++#else + dma_size = (pdev->is_pcie) ? AR5K_DMASIZE_128B : AR5K_DMASIZE_512B; ++#endif + if (ah->ah_version != AR5K_AR5210) { + AR5K_REG_WRITE_BITS(ah, AR5K_TXCFG, + AR5K_TXCFG_SDMAMR, dma_size); +--- a/drivers/net/wireless/libertas/ethtool.c 2008-04-03 21:51:48.000000000 -0400 ++++ b/drivers/net/wireless/libertas/ethtool.c 2008-04-03 21:51:49.000000000 -0400 +@@ -111,6 +111,7 @@ + lbs_deb_enter(LBS_DEB_ETHTOOL); + } + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + static int lbs_ethtool_get_sset_count(struct net_device * dev, int sset) + { + switch (sset) { +@@ -120,6 +121,7 @@ + return -EOPNOTSUPP; + } + } ++#endif + + static void lbs_ethtool_get_strings(struct net_device *dev, + u32 stringset, +@@ -188,7 +190,9 @@ + .get_drvinfo = lbs_ethtool_get_drvinfo, + .get_eeprom = lbs_ethtool_get_eeprom, + .get_eeprom_len = lbs_ethtool_get_eeprom_len, ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + .get_sset_count = lbs_ethtool_get_sset_count, ++#endif + .get_ethtool_stats = lbs_ethtool_get_stats, + .get_strings = lbs_ethtool_get_strings, + .get_wol = lbs_ethtool_get_wol, +--- a/net/mac80211/tx.c 2008-04-15 19:25:05.000000000 -0700 ++++ b/net/mac80211/tx.c 2008-04-15 19:25:05.000000000 -0700 +@@ -18,7 +18,9 @@ + #include <linux/etherdevice.h> + #include <linux/bitmap.h> + #include <linux/rcupdate.h> ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + #include <net/net_namespace.h> ++#endif + #include <net/ieee80211_radiotap.h> + #include <net/cfg80211.h> + #include <net/mac80211.h> +@@ -1618,8 +1620,13 @@ + pkt_data->flags |= IEEE80211_TXPD_EAPOL_FRAME; + + skb->dev = local->mdev; ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)) ++ sdata->stats.tx_packets++; ++ sdata->stats.tx_bytes += skb->len; ++#else + dev->stats.tx_packets++; + dev->stats.tx_bytes += skb->len; ++#endif + + /* Update skb pointers to various headers since this modified frame + * is going to go through Linux networking code that may potentially +--- a/net/mac80211/util.c 2008-04-15 19:25:05.000000000 -0700 ++++ b/net/mac80211/util.c 2008-04-15 19:25:05.000000000 -0700 +@@ -20,9 +20,15 @@ + #include <linux/if_arp.h> + #include <linux/wireless.h> + #include <linux/bitmap.h> ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + #include <net/net_namespace.h> ++#endif + #include <net/cfg80211.h> ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)) + #include <net/rtnetlink.h> ++#else ++#include <linux/rtnetlink.h> ++#endif + + #include "ieee80211_i.h" + #include "rate.h" +--- a/drivers/net/wireless/libertas/dev.h 2008-04-15 19:25:05.000000000 -0700 ++++ b/drivers/net/wireless/libertas/dev.h 2008-04-15 19:28:16.000000000 -0700 +@@ -11,6 +11,7 @@ + #include <linux/ethtool.h> + #include <linux/debugfs.h> + #include <net/ieee80211.h> ++#include <net/compat.h> + + #include "defs.h" + #include "hostcmd.h" +--- a/drivers/net/wireless/adm8211.c 2008-04-15 19:25:05.000000000 -0700 ++++ b/drivers/net/wireless/adm8211.c 2008-04-15 19:25:05.000000000 -0700 +@@ -143,7 +143,11 @@ break; default: @@ -313,7 +469,7 @@ priv->rf_type = ADM8211_TYPE_RFMD; else priv->rf_type = ADM8211_TYPE_AIROHA; -@@ -161,7 +165,11 @@ static int adm8211_read_eeprom(struct ie +@@ -161,7 +165,11 @@ case ADM8211_TYPE_ADMTEK: break; default: @@ -325,7 +481,7 @@ priv->bbp_type = ADM8211_TYPE_RFMD; else priv->bbp_type = ADM8211_TYPE_ADMTEK; -@@ -201,7 +209,11 @@ static int adm8211_read_eeprom(struct ie +@@ -201,7 +209,11 @@ break; default: @@ -337,7 +493,7 @@ priv->specific_bbptype = ADM8211_BBP_RFMD3000; else priv->specific_bbptype = ADM8211_BBP_ADM8011; -@@ -220,11 +232,23 @@ static int adm8211_read_eeprom(struct ie +@@ -220,11 +232,23 @@ break; default: @@ -361,7 +517,7 @@ priv->transceiver_type = ADM8211_RFMD2948; printk(KERN_WARNING "%s (adm8211): Unknown transceiver: %d\n", -@@ -246,7 +270,11 @@ static inline void adm8211_write_sram(st +@@ -246,7 +270,11 @@ struct adm8211_priv *priv = dev->priv; ADM8211_CSR_WRITE(WEPCTL, addr | ADM8211_WEPCTL_TABLE_WR | @@ -373,7 +529,7 @@ 0 : ADM8211_WEPCTL_SEL_WEPTABLE )); ADM8211_CSR_READ(WEPCTL); msleep(1); -@@ -264,7 +292,11 @@ static void adm8211_write_sram_bytes(str +@@ -264,7 +292,11 @@ u32 reg = ADM8211_CSR_READ(WEPCTL); unsigned int i; @@ -385,7 +541,7 @@ for (i = 0; i < len; i += 2) { u16 val = buf[i] | (buf[i + 1] << 8); adm8211_write_sram(dev, addr + i / 2, val); -@@ -445,7 +477,11 @@ static void adm8211_interrupt_rci(struct +@@ -445,7 +477,11 @@ if (skb) { struct ieee80211_rx_status rx_status = {0}; @@ -397,7 +553,7 @@ rx_status.ssi = rssi; else rx_status.ssi = 100 - rssi; -@@ -725,7 +761,11 @@ static int adm8211_rf_set_channel(struct +@@ -718,7 +754,11 @@ adm8211_rf_write_syn_rfmd2958(dev, 0x0A, reg); /* set TXRX TX_GAIN */ adm8211_rf_write_syn_rfmd2958(dev, 0x09, 0x00050 | @@ -409,7 +565,7 @@ } else { reg = ADM8211_CSR_READ(PLCPHD); reg &= 0xff00ffff; -@@ -744,7 +784,11 @@ static int adm8211_rf_set_channel(struct +@@ -737,7 +777,11 @@ tx_power<<2); adm8211_write_bbp(dev, RF3000_LOW_GAIN_CALIB, lpf_cutoff); adm8211_write_bbp(dev, RF3000_HIGH_GAIN_CALIB, lnags_thresh); @@ -421,7 +577,7 @@ priv->eeprom->cr28 : 0); adm8211_write_bbp(dev, 0x1d, priv->eeprom->cr29); -@@ -783,7 +827,11 @@ static void adm8211_update_mode(struct i +@@ -776,7 +820,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 */ @@ -433,7 +589,7 @@ priv->soft_rx_crc = 1; break; case IEEE80211_IF_TYPE_MNTR: -@@ -884,7 +932,11 @@ static int adm8211_hw_init_bbp(struct ie +@@ -877,7 +925,11 @@ break; } @@ -445,7 +601,7 @@ case ADM8211_REV_CA: if (priv->transceiver_type == ADM8211_RFMD2958 || priv->transceiver_type == ADM8211_RFMD2958_RF3000_CONTROL_POWER || -@@ -942,7 +994,11 @@ static int adm8211_hw_init_bbp(struct ie +@@ -935,7 +987,11 @@ adm8211_write_bbp(dev, 0x1c, 0x00); adm8211_write_bbp(dev, 0x1d, 0x80); } else { @@ -457,7 +613,7 @@ adm8211_write_bbp(dev, 0x1c, priv->eeprom->cr28); else adm8211_write_bbp(dev, 0x1c, 0x00); -@@ -1074,7 +1130,11 @@ static int adm8211_set_rate(struct ieee8 +@@ -1067,7 +1123,11 @@ u8 rate_buf[12] = {0}; /* write supported rates */ @@ -469,7 +625,7 @@ rate_buf[0] = ARRAY_SIZE(adm8211_rates); for (i = 0; i < ARRAY_SIZE(adm8211_rates); i++) rate_buf[i + 1] = (adm8211_rates[i].bitrate / 5) | 0x80; -@@ -1158,7 +1218,11 @@ static void adm8211_hw_init(struct ieee8 +@@ -1151,7 +1211,11 @@ * PWR0PE2 = 13 us * PWR1PE2 = 1 us * PWR0TXPE = 8 or 6 */ @@ -481,7 +637,7 @@ ADM8211_CSR_WRITE(TOFS2, 0x8815cd18); else ADM8211_CSR_WRITE(TOFS2, 0x8535cd16); -@@ -1187,7 +1251,11 @@ static void adm8211_hw_init(struct ieee8 +@@ -1180,7 +1244,11 @@ /* SLOT=20 us, SIFS=110 cycles of 22 MHz (5 us), * DIFS=50 us, EIFS=100 us */ @@ -493,7 +649,7 @@ ADM8211_CSR_WRITE(IFST, (20 << 23) | (110 << 15) | (50 << 9) | 100); else -@@ -1246,13 +1314,21 @@ static int adm8211_hw_reset(struct ieee8 +@@ -1239,13 +1307,21 @@ ADM8211_CSR_WRITE(PAR, tmp); @@ -515,7 +671,7 @@ reg = ADM8211_CSR_READ(CSR_TEST1); reg &= ~((1 << 4) | (1 << 5)); ADM8211_CSR_WRITE(CSR_TEST1, reg); -@@ -1887,6 +1963,9 @@ static int __devinit adm8211_probe(struc +@@ -1880,6 +1956,9 @@ pci_name(pdev)); goto err_iounmap; } @@ -525,7 +681,7 @@ *(__le32 *)perm_addr = cpu_to_le32(ADM8211_CSR_READ(PAR0)); *(__le16 *)&perm_addr[4] = -@@ -1915,7 +1994,11 @@ static int __devinit adm8211_probe(struc +@@ -1908,7 +1987,11 @@ priv->mode = IEEE80211_IF_TYPE_INVALID; /* Power-on issue. EEPROM won't read correctly without */ @@ -537,7 +693,7 @@ ADM8211_CSR_WRITE(FRCTL, 0); ADM8211_CSR_READ(FRCTL); ADM8211_CSR_WRITE(FRCTL, 1); -@@ -1943,7 +2026,11 @@ static int __devinit adm8211_probe(struc +@@ -1936,7 +2019,11 @@ printk(KERN_INFO "%s: hwaddr %s, Rev 0x%02x\n", wiphy_name(dev->wiphy), print_mac(mac, dev->wiphy->perm_addr), @@ -549,111 +705,9 @@ return 0; ---- a/net/wireless/core.c 2008-02-28 19:54:52.000000000 +0100 -+++ b/net/wireless/core.c 2008-02-28 19:54:53.000000000 +0100 -@@ -71,9 +71,9 @@ __cfg80211_drv_from_info(struct genl_inf - ifindex = nla_get_u32(info->attrs[NL80211_ATTR_IFINDEX]); - dev = dev_get_by_index(&init_net, ifindex); - if (dev) { -- if (dev->ieee80211_ptr) -+ if (((struct wireless_dev *)dev->ieee80211_ptr)) - byifidx = -- wiphy_to_dev(dev->ieee80211_ptr->wiphy); -+ wiphy_to_dev(((struct wireless_dev *)dev->ieee80211_ptr)->wiphy); - dev_put(dev); - } - err = -ENODEV; -@@ -123,8 +123,8 @@ cfg80211_get_dev_from_ifindex(int ifinde - dev = dev_get_by_index(&init_net, ifindex); - if (!dev) - goto out; -- if (dev->ieee80211_ptr) { -- drv = wiphy_to_dev(dev->ieee80211_ptr->wiphy); -+ if (((struct wireless_dev *)dev->ieee80211_ptr)) { -+ drv = wiphy_to_dev(((struct wireless_dev *)dev->ieee80211_ptr)->wiphy); - mutex_lock(&drv->mtx); - } else - drv = ERR_PTR(-ENODEV); -@@ -345,28 +345,28 @@ static int cfg80211_netdev_notifier_call - struct net_device *dev = ndev; - struct cfg80211_registered_device *rdev; - -- if (!dev->ieee80211_ptr) -+ if (!((struct wireless_dev *)dev->ieee80211_ptr)) - return 0; - -- rdev = wiphy_to_dev(dev->ieee80211_ptr->wiphy); -+ rdev = wiphy_to_dev(((struct wireless_dev *)dev->ieee80211_ptr)->wiphy); - - switch (state) { - case NETDEV_REGISTER: - mutex_lock(&rdev->devlist_mtx); -- list_add(&dev->ieee80211_ptr->list, &rdev->netdev_list); -+ list_add(&((struct wireless_dev *)dev->ieee80211_ptr)->list, &rdev->netdev_list); - if (sysfs_create_link(&dev->dev.kobj, &rdev->wiphy.dev.kobj, - "phy80211")) { - printk(KERN_ERR "wireless: failed to add phy80211 " - "symlink to netdev!\n"); - } -- dev->ieee80211_ptr->netdev = dev; -+ ((struct wireless_dev *)dev->ieee80211_ptr)->netdev = dev; - mutex_unlock(&rdev->devlist_mtx); - break; - case NETDEV_UNREGISTER: - mutex_lock(&rdev->devlist_mtx); -- if (!list_empty(&dev->ieee80211_ptr->list)) { -+ if (!list_empty(&((struct wireless_dev *)dev->ieee80211_ptr)->list)) { - sysfs_remove_link(&dev->dev.kobj, "phy80211"); -- list_del_init(&dev->ieee80211_ptr->list); -+ list_del_init(&((struct wireless_dev *)dev->ieee80211_ptr)->list); - } - mutex_unlock(&rdev->devlist_mtx); - break; ---- a/net/wireless/nl80211.c 2008-02-28 19:54:52.000000000 +0100 -+++ b/net/wireless/nl80211.c 2008-02-28 19:54:53.000000000 +0100 -@@ -1062,7 +1062,7 @@ static int get_vlan(struct nlattr *vlana - return -ENODEV; - if (!(*vlan)->ieee80211_ptr) - return -EINVAL; -- if ((*vlan)->ieee80211_ptr->wiphy != &rdev->wiphy) -+ if (((struct wireless_dev *)(*vlan)->ieee80211_ptr)->wiphy != &rdev->wiphy) - return -EINVAL; - } - return 0; ---- a/drivers/net/wireless/zd1211rw/zd_mac.c 2008-03-07 20:02:06.000000000 -0500 -+++ b/drivers/net/wireless/zd1211rw/zd_mac.c 2008-03-07 20:02:07.000000000 -0500 -@@ -1042,5 +1042,5 @@ - dev_dbg_f(zd_mac_dev(mac), "\n"); - cancel_rearming_delayed_workqueue(zd_workqueue, - &mac->housekeeping.link_led_work); -- zd_chip_control_leds(&mac->chip, LED_OFF); -+ zd_chip_control_leds(&mac->chip, LED_OFF_ZD); - } ---- a/drivers/net/wireless/zd1211rw/zd_chip.c 2008-03-07 20:02:06.000000000 -0500 -+++ b/drivers/net/wireless/zd1211rw/zd_chip.c 2008-03-07 20:02:07.000000000 -0500 -@@ -1281,7 +1281,7 @@ - other_led = chip->link_led == LED1 ? LED2 : LED1; - - switch (status) { -- case LED_OFF: -+ case LED_OFF_ZD: - ioreqs[0].value = FW_LINK_OFF; - ioreqs[1].value = v[1] & ~(LED1|LED2); - break; ---- a/drivers/net/wireless/zd1211rw/zd_chip.h 2008-03-07 20:02:06.000000000 -0500 -+++ b/drivers/net/wireless/zd1211rw/zd_chip.h 2008-03-07 20:02:07.000000000 -0500 -@@ -897,7 +897,7 @@ - int zd_chip_unlock_phy_regs(struct zd_chip *chip); - - enum led_status { -- LED_OFF = 0, -+ LED_OFF_ZD = 0, - LED_SCANNING = 1, - LED_ASSOCIATED = 2, - }; ---- a/drivers/ssb/main.c 2008-03-14 10:30:04.000000000 -0400 -+++ b/drivers/ssb/main.c 2008-03-14 10:30:05.000000000 -0400 -@@ -360,6 +360,27 @@ +--- a/drivers/ssb/main.c 2008-04-15 19:25:05.000000000 -0700 ++++ b/drivers/ssb/main.c 2008-04-15 19:25:05.000000000 -0700 +@@ -347,6 +347,27 @@ return 0; } @@ -681,7 +735,7 @@ static int ssb_device_uevent(struct device *dev, struct kobj_uevent_env *env) { struct ssb_device *ssb_dev = dev_to_ssb_dev(dev); -@@ -372,6 +393,7 @@ +@@ -359,6 +380,7 @@ ssb_dev->id.vendor, ssb_dev->id.coreid, ssb_dev->id.revision); } @@ -689,34 +743,8 @@ static struct bus_type ssb_bustype = { .name = "ssb", ---- a/drivers/net/wireless/ath5k/hw.c 2008-03-14 10:32:35.000000000 -0400 -+++ b/drivers/net/wireless/ath5k/hw.c 2008-03-14 10:32:36.000000000 -0400 -@@ -385,7 +385,11 @@ - /* reseting PCI on PCI-E cards results card to hang - * and always return 0xffff... so we ingore that flag - * for PCI-E cards */ -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) -+ bus_flags = (compat_is_pcie(pdev)) ? 0 : AR5K_RESET_CTL_PCI; -+#else - bus_flags = (pdev->is_pcie) ? 0 : AR5K_RESET_CTL_PCI; -+#endif - - /* Reset chipset */ - ret = ath5k_hw_nic_reset(ah, AR5K_RESET_CTL_PCU | -@@ -937,7 +941,11 @@ - * TODO: Check out tx triger level, it's always 64 on dumps but I - * guess we can tweak it and see how it goes ;-) - */ -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) -+ dma_size = (compat_is_pcie(pdev)) ? AR5K_DMASIZE_128B : AR5K_DMASIZE_512B; -+#else - dma_size = (pdev->is_pcie) ? AR5K_DMASIZE_128B : AR5K_DMASIZE_512B; -+#endif - if (ah->ah_version != AR5K_AR5210) { - AR5K_REG_WRITE_BITS(ah, AR5K_TXCFG, - AR5K_TXCFG_SDMAMR, dma_size); ---- a/net/mac80211/rx.c 2008-03-28 15:35:48.000000000 -0400 -+++ b/net/mac80211/rx.c 2008-03-28 15:35:48.000000000 -0400 +--- a/net/mac80211/rx.c 2008-04-15 19:31:45.000000000 -0700 ++++ b/net/mac80211/rx.c 2008-04-15 19:31:45.000000000 -0700 @@ -237,8 +237,13 @@ } @@ -731,7 +759,7 @@ } if (prev_dev) { -@@ -1378,8 +1383,13 @@ +@@ -1375,8 +1380,13 @@ skb->dev = dev; @@ -745,7 +773,7 @@ /* skip the wrapping header */ eth = (struct ethhdr *) skb_pull(skb, sizeof(struct ethhdr)); -@@ -1488,8 +1498,13 @@ +@@ -1485,8 +1495,13 @@ rx->skb->dev = dev; @@ -759,7 +787,7 @@ ieee80211_deliver_skb(rx); -@@ -1695,8 +1710,13 @@ +@@ -1692,8 +1707,13 @@ } prev_dev = sdata->dev; @@ -773,36 +801,8 @@ } if (prev_dev) { ---- a/drivers/net/wireless/libertas/ethtool.c 2008-04-03 21:51:48.000000000 -0400 -+++ b/drivers/net/wireless/libertas/ethtool.c 2008-04-03 21:51:49.000000000 -0400 -@@ -111,6 +111,7 @@ - lbs_deb_enter(LBS_DEB_ETHTOOL); - } - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) - static int lbs_ethtool_get_sset_count(struct net_device * dev, int sset) - { - switch (sset) { -@@ -120,6 +121,7 @@ - return -EOPNOTSUPP; - } - } -+#endif - - static void lbs_ethtool_get_strings(struct net_device *dev, - u32 stringset, -@@ -188,7 +190,9 @@ - .get_drvinfo = lbs_ethtool_get_drvinfo, - .get_eeprom = lbs_ethtool_get_eeprom, - .get_eeprom_len = lbs_ethtool_get_eeprom_len, -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) - .get_sset_count = lbs_ethtool_get_sset_count, -+#endif - .get_ethtool_stats = lbs_ethtool_get_stats, - .get_strings = lbs_ethtool_get_strings, - .get_wol = lbs_ethtool_get_wol, ---- a/net/mac80211/ieee80211.c 2008-04-03 21:51:48.000000000 -0400 -+++ b/net/mac80211/ieee80211.c 2008-04-03 21:51:49.000000000 -0400 +--- a/net/mac80211/main.c 2008-04-15 19:36:34.000000000 -0700 ++++ b/net/mac80211/main.c 2008-04-15 19:36:34.000000000 -0700 @@ -21,7 +21,9 @@ #include <linux/wireless.h> #include <linux/rtnetlink.h> @@ -813,7 +813,7 @@ #include <net/cfg80211.h> #include "ieee80211_i.h" -@@ -942,6 +944,13 @@ +@@ -940,6 +942,13 @@ .cache_update = eth_header_cache_update, }; @@ -827,7 +827,7 @@ /* Must not be called for mdev */ void ieee80211_if_setup(struct net_device *dev) { -@@ -953,6 +962,9 @@ +@@ -951,6 +960,9 @@ dev->open = ieee80211_open; dev->stop = ieee80211_stop; dev->destructor = ieee80211_if_free; @@ -837,7 +837,7 @@ } /* everything else */ -@@ -1643,7 +1655,12 @@ +@@ -1656,7 +1668,12 @@ mdev->open = ieee80211_master_open; mdev->stop = ieee80211_master_stop; mdev->type = ARPHRD_IEEE80211; @@ -850,9 +850,9 @@ mdev->set_multicast_list = ieee80211_master_set_multicast_list; sdata->vif.type = IEEE80211_IF_TYPE_AP; ---- a/net/mac80211/ieee80211_i.h 2008-04-03 21:51:48.000000000 -0400 -+++ b/net/mac80211/ieee80211_i.h 2008-04-03 21:51:49.000000000 -0400 -@@ -430,6 +430,10 @@ +--- a/net/mac80211/ieee80211_i.h 2008-04-15 19:38:02.000000000 -0700 ++++ b/net/mac80211/ieee80211_i.h 2008-04-15 19:38:03.000000000 -0700 +@@ -421,6 +421,10 @@ struct wireless_dev wdev; @@ -863,7 +863,7 @@ /* keys */ struct list_head key_list; -@@ -562,7 +566,7 @@ +@@ -553,7 +557,7 @@ return container_of(p, struct ieee80211_sub_if_data, vif); } @@ -41,6 +41,8 @@ CONFIG_B43=m CONFIG_B43_PCMCIA=y CONFIG_B43_DMA=y CONFIG_B43_PIO=y +# B43_PIO selects SSB_BLOCKIO +CONFIG_SSB_BLOCKIO=y CONFIG_B43_DMA_AND_PIO_MODE=y CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y diff --git a/scripts/admin-update.sh b/scripts/admin-update.sh index 0952f50..7373c86 100755 --- a/scripts/admin-update.sh +++ b/scripts/admin-update.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2007 Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> +# Copyright 2007, 2008 Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> # # Use this to update compat-wireless-2.6 to the latest # wireless-testing.git tree you have. @@ -55,6 +55,7 @@ DRIVERS="$DRIVERS drivers/net/wireless/iwlwifi" DRIVERS="$DRIVERS drivers/net/wireless/rt2x00" DRIVERS="$DRIVERS drivers/net/wireless/zd1211rw" DRIVERS="$DRIVERS drivers/net/wireless/libertas" +DRIVERS="$DRIVERS drivers/net/wireless/p54" # Drivers that belong the the wireless directory DRIVER_FILES="rtl818x.h rtl8180_sa2400.h rtl8180_max2820.h" @@ -66,9 +67,6 @@ DRIVER_FILES="$DRIVER_FILES rtl8187.h rtl8187_rtl8225.h" DRIVER_FILES="$DRIVER_FILES rtl8180_grf5101.c rtl8180_grf5101.h" DRIVER_FILES="$DRIVER_FILES rtl8187_dev.c rtl8187_rtl8225.c" DRIVER_FILES="$DRIVER_FILES adm8211.c adm8211.h" -DRIVER_FILES="$DRIVER_FILES p54.h p54common.h p54common.c net2280.h" -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_wlan.c" |