diff options
author | Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> | 2007-11-27 21:50:37 -0500 |
---|---|---|
committer | Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> | 2007-11-27 21:50:37 -0500 |
commit | 74b873996d8e53141fefbdf29ae186ba1b2a215c (patch) | |
tree | 8847f4342f5f3e9894079787b53413a683e6886a | |
parent | 7cfa7d93b330fc7c5c0f151a553522cff71091bc (diff) | |
download | compat-wireless-2.6-old-74b873996d8e53141fefbdf29ae186ba1b2a215c.tar.gz |
Well I think this adds all new and actively patched drivers. If I missed
anyone please let me know. Not adding old softmac as that will die very
soon.
* Adds ipw2100, ipw2200
* Adds net/ieee80211/ for Intel's ipw drivers and libertas. This
required porting sg_init_table().
* I thought I had added b43legacy, I hadn't this adds it for sure
* Update docs, added TODO list on README
* Fix uninstall, wasn't removing all modules as claimed
Signed-off-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
-rw-r--r-- | Makefile | 65 | ||||
-rw-r--r-- | README | 87 | ||||
-rw-r--r-- | compat/compat.diff | 213 | ||||
-rw-r--r-- | compat/compat.h | 49 | ||||
-rw-r--r-- | config.mk | 35 | ||||
-rwxr-xr-x | scripts/admin-update.sh | 6 | ||||
-rwxr-xr-x | scripts/load.sh | 3 | ||||
-rwxr-xr-x | scripts/unload.sh | 6 |
8 files changed, 302 insertions, 162 deletions
@@ -16,7 +16,7 @@ ifneq ($(KERNELRELEASE),) NOSTDINC_FLAGS := -I$(PWD)/include/ $(CFLAGS) NOSTDINC_FLAGS := -I$(PWD)/include/ -include $(M)/compat/compat.h $(CFLAGS) -obj-y := net/wireless/ net/mac80211/ \ +obj-y := net/wireless/ net/mac80211/ net/ieee80211/ \ drivers/ssb/ \ drivers/misc/ \ drivers/net/wireless/ @@ -67,15 +67,32 @@ install: @echo "Currently detected wireless subsystem modules:" @echo @modprobe -l mac80211 - @# rc80211_simple is no longer a module - @#modprobe -l rc80211_simple + @# rc80211_simple is a module only on 2.6.22 and 2.6.23 @modprobe -l cfg80211 + @modprobe -l adm8211 @modprobe -l ath5k - @modprobe -l ssb @modprobe -l b43 + @modprobe -l b43legacy + @modprobe -l ssb @modprobe -l iwl3945 - @# This needs testing before we add it - @#modprobe -l iwl4965 + @modprobe -l iwl4965 + @modprobe -l ipw2100 + @modprobe -l ipw2200 + @modprobe -l ieee80211 + @modprobe -l ieee80211_crypt + @modprobe -l libertas_cs + @modprobe -l ub8xxx + @modprobe -l p54pci + @modprobe -l p54usb + @modprobe -l rt2400pci + @modprobe -l rt2500pci + @modprobe -l rt2500usb + @modprobe -l rt61pci + @modprobe -l rt73usb + @modprobe -l rtl8180 + @modprobe -l rtl8187 + @# rc80211_simple is no longer a module + @#modprobe -l rc80211_simple @modprobe -l zd1211rw-mac80211 @echo @echo Now run: make load @@ -87,8 +104,12 @@ uninstall: @# New location, matches upstream @rm -rf $(KLIB)/$(KMODDIR)/net/mac80211/ @rm -rf $(KLIB)/$(KMODDIR)/net/wireless/ + @rm -rf $(KLIB)/$(KMODDIR)/net/ieee80211/ @rm -rf $(KLIB)/$(KMODDIR)/drivers/ssb/ @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/ + @# Lets only remove the stuff we are sure we are providing + @# on the misc directory. + @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom_93cx6.ko @depmod -ae @/usr/sbin/athenable madwifi @/usr/sbin/b43enable bcm43xx @@ -96,20 +117,38 @@ uninstall: @echo "Your old wireless subsystem modules were left intact:" @echo @modprobe -l mac80211 - @# rc80211_simple is a module on 2.6.22 and 2.6.23 though - @modprobe -l rc80211_simple @modprobe -l cfg80211 + @# rc80211_simple is a module on 2.6.22 and 2.6.23 though + @modprobe -l adm8211 @modprobe -l ath5k - @modprobe -l ssb @modprobe -l b43 @modprobe -l b43legacy + @modprobe -l ssb + @modprobe -l rc80211_simple @modprobe -l iwl3945 @modprobe -l iwl4965 - @modprobe -l ipw3945 - @modprobe -l ath_pci - @modprobe -l ath_hal + @modprobe -l ipw2100 + @modprobe -l ipw2200 + @modprobe -l ieee80211 + @modprobe -l ieee80211_crypt + @modprobe -l libertas_cs + @modprobe -l mac80211 + @modprobe -l ub8xxx + @modprobe -l p54pci + @modprobe -l p54usb + @modprobe -l rt2400pci + @modprobe -l rt2500pci + @modprobe -l rt2500usb + @modprobe -l rt61pci + @modprobe -l rt73usb + @modprobe -l rtl8180 + @modprobe -l rtl8187 + @# rc80211_simple is no longer a module + @#modprobe -l rc80211_simple @modprobe -l zd1211rw-mac80211 - @modprobe -l bcm43xx + @# Old kernels have ieee80211softmac, this will be removed soon :) + @modprobe -l ieee80211softmac + @ @echo unload: @@ -5,8 +5,9 @@ Linux Wireless compatibility package This is a Linux wireless compatibility package which provides the latest Linux wireless subsystem enhancements for kernels 2.6.22 and above. We provide compatibility support since 2.6.22 as that is when mac80211 was introduced -onto the stock kernel. This adds mac80211 and mac80211 drivers as we go on testing -them. +onto the stock kernel. This adds mac80211, mac80211 drivers, and any new +full MAC driver which has had fairly recent updates worth getting such as +libertas, ipw2100 and ipw2200. If you'd like to keep the wireless-2.6 git repository local as well, please read out git-guide which explains how to achieve this: @@ -28,7 +29,8 @@ Where to get the latest This package lets you build your own 'latest', all you need is a local git repository checkout of wireless-2.6.git. However since not many users are expected to keep -the git repository updated we provide hourly snapshots against the latest at: +a local git repository of wireless-2.6 we provide daily snapshots of this +package + the wireless subsystem code. You can find the latest snapshot at: http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2 @@ -54,15 +56,31 @@ distribution's supported drivers. Load: -This unloads your old mac80211 and wireless drivers and loads the new -shiny ones. For example if ipw3945 and its proprietary daemon are found -it'll be stopped and the module unloaded and then iwl3945 will be loaded. +If you know what module you need you can simply load the module using modprobe. +Note that if you are loading a mac80211 driver you must unload your current +mac80211 drivers as you have a new one to replace it with. Note also that +broadcom, zydas, and atheros devices have old legacy drivers which +you need to be sure are removed first. We provide a mechanism to unload all +old drivers and also load all new drivers if you are not sure what you are +doing. + +So, if you simply are not sure you can use: sudo make load +This unloads your old wireless subsystem drivers and loads the new +shiny ones. For example if ipw3945 and its proprietary daemon are found +it'll be stopped and the module unloaded and then iwl3945 will be loaded. +If you are simply upgrading a mac80211 driver this will unload +the old one and the old mac80211 drivers and load the new ones. + Drivers ------- +This is the list of drivers this package provides. It adds +all new drivers or drivers which keep being updated which you might +be interested in. + Driver 2.6.22 2.6.23 adm8211 ? ? ath5k OK ? @@ -70,6 +88,8 @@ b43 OK ? b43legacy ? ? iwl3945 OK ? iwl4965 ? ? +ipw2100 ? ? +ipw2200 ? ? libertas_cs (Libertas) ? ? ub8xxx (Libertas) ? ? p54pci OK ? @@ -103,7 +123,7 @@ drivers (b43 and b43legacy) you can run: sudo b43load b43 -To revert back to ath5k you can run: +To revert back to bcm43xx you can run: sudo b43load bcm43xx @@ -121,6 +141,26 @@ To revert back to ath5k you can run: sudo athload ath5k +* prism54, p54pci, p54usb? + +We don't provide prism54 in this package because distributions already provide +it. p54 is its replacement. prism54 works only with full MAC cards. p54 works +with both full MAC and soft MAC cards. p54 just doesn't yet support ad-hoc, +and AP mode. Should prism54 get any new updates we'll start packaging it here. + +* What about net/ieee80211/softmac/ and their drivers? + +Documentation/feature-removal-schedule.txt is being updated to +mark this for removal. Here is the relevant text: + +--- +What: iee80211 softmac wireless networking component +When: 2.6.26 (or after removal of bcm43xx and port of zd1211rw to mac80211) +Files: net/ieee80211/softmac +Why: No in-kernel drivers will depend on it any longer. +Who: John W. Linville <linville@tuxdriver.com> +--- + * Firmare: If your driver needs firmware please be sure to check the driver page @@ -167,36 +207,19 @@ to building this package is licensed under the GPLv2. Developers ---------- -Please try adding new drivers, test them and if they work enable them. You -can then send patches. Compatibility work goes into compat/compat.[ch]. If -using those files do not suffice additional actual code changes can go into -compat/compat.diff. +Compatibility work goes into compat/compat.[ch]. If using those files do +not suffice additional actual code changes can go into compat/compat.diff. scripts/admin-clean.sh - Cleans the compat-wireless-2.6 tree scripts/admin-update.sh - Updates compat-wireless-2.6 with your git tree scripts/admin-refresh.sh - Does the above two -To add new drivers: - -1. Add directory to scripts/admin-update.sh $DRIVERS variable -2. Add new compat-wireless-2.6/ dir to obj-y on the local Makefile -3. Update compat patch: - - cd .. - cp -a compat-wireless-2.6/ compat-wireless-2.6.old - cp compat-wireless-2.6/drivers/foo/Makefile compat-wireless-2.6/.old/drivers/Makefile.old - # edit drivers/foo/Makefile and make necessary changes to enable module - diff -u compat-wireless-2.6.old/drivers/foo/Makefile.old \ - compat-wireless-2.6/drivers/foo/Makefile >> \ - compat/compat.diff - # Append to compat/compat.[ch] any new changes needed - # to support the driver, please be specific about the reasons - # for your additions - -4. Refresh and test: - cd compat-wireless-2.6/ - ./scripts/admin-refresh.sh -5. Send patches of the work +TODO +---- + +* Finish nl80211 port +* Compatibilty work for 2.6.18 --> 2.6.21 +* Dialog (make menuconfig) option for this package Patches for compatibility work ------------------------------ diff --git a/compat/compat.diff b/compat/compat.diff index 257e035..5f645bf 100644 --- a/compat/compat.diff +++ b/compat/compat.diff @@ -28,50 +28,6 @@ #include <net/ieee80211_radiotap.h> #include <net/cfg80211.h> #include <net/mac80211.h> ---- a/net/mac80211/util.c 2007-11-09 13:14:57.000000000 -0500 -+++ b/net/mac80211/util.c 2007-11-09 15:41:40.000000000 -0500 -@@ -20,7 +20,9 @@ - #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> - - #include "ieee80211_i.h" ---- a/net/mac80211/ieee80211.c 2007-11-07 12:42:38.000000000 -0500 -+++ b/net/mac80211/ieee80211.c 2007-11-09 13:18:58.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" -@@ -400,7 +402,9 @@ - void ieee80211_if_setup(struct net_device *dev) - { - ether_setup(dev); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) - dev->header_ops = &ieee80211_header_ops; -+#endif - dev->hard_start_xmit = ieee80211_subif_start_xmit; - dev->wireless_handlers = &ieee80211_iw_handler_def; - dev->set_multicast_list = ieee80211_set_multicast_list; -@@ -987,7 +991,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->type = IEEE80211_IF_TYPE_AP; --- a/net/wireless/sysfs.c 2007-11-06 16:05:57.000000000 -0500 +++ b/net/wireless/sysfs.c 2007-11-06 16:07:17.000000000 -0500 @@ -52,6 +52,7 @@ @@ -455,61 +411,6 @@ return 0; ---- a/drivers/net/wireless/Makefile 2007-11-15 20:36:34.000000000 -0500 -+++ b/drivers/net/wireless/Makefile 2007-11-15 20:37:26.000000000 -0500 -@@ -2,52 +2,10 @@ - # Makefile for the Linux Wireless network device drivers. - # - --obj-$(CONFIG_IPW2100) += ipw2100.o -- --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/ - obj-$(CONFIG_ZD1211RW_MAC80211) += zd1211rw-mac80211/ - --# 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 --- 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 @@ @@ -568,3 +469,117 @@ .get_ethtool_stats = lbs_ethtool_get_stats, .get_strings = lbs_ethtool_get_strings, }; +--- a/net/mac80211/util.c 2007-11-27 18:13:44.000000000 -0500 ++++ b/net/mac80211/util.c 2007-11-27 18:13:45.000000000 -0500 +@@ -20,7 +20,9 @@ + #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> + #include <net/rtnetlink.h> + +--- a/net/mac80211/ieee80211.c 2007-11-27 18:14:16.000000000 -0500 ++++ b/net/mac80211/ieee80211.c 2007-11-27 18:14:16.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" +@@ -423,7 +425,9 @@ + void ieee80211_if_setup(struct net_device *dev) + { + ether_setup(dev); ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + dev->header_ops = &ieee80211_header_ops; ++#endif + dev->hard_start_xmit = ieee80211_subif_start_xmit; + dev->wireless_handlers = &ieee80211_iw_handler_def; + dev->set_multicast_list = ieee80211_set_multicast_list; +@@ -1010,7 +1014,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->type = IEEE80211_IF_TYPE_AP; +--- a/net/ieee80211/Makefile 2007-11-27 20:00:21.000000000 -0500 ++++ b/net/ieee80211/Makefile 2007-11-27 19:58:36.000000000 -0500 +@@ -10,4 +10,3 @@ + ieee80211_wx.o \ + ieee80211_geo.o + +-obj-$(CONFIG_IEEE80211_SOFTMAC) += softmac/ +--- a/net/ieee80211/ieee80211_module.c 2007-11-27 19:55:49.000000000 -0500 ++++ b/net/ieee80211/ieee80211_module.c 2007-11-27 19:56:25.000000000 -0500 +@@ -47,7 +47,9 @@ + #include <linux/wireless.h> + #include <linux/etherdevice.h> + #include <asm/uaccess.h> ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + #include <net/net_namespace.h> ++#endif + #include <net/arp.h> + + #include <net/ieee80211.h> +--- a/drivers/net/wireless/Makefile 2007-11-27 21:27:30.000000000 -0500 ++++ b/drivers/net/wireless/Makefile 2007-11-27 21:27:13.000000000 -0500 +@@ -6,48 +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/ + obj-$(CONFIG_ZD1211RW_MAC80211) += zd1211rw-mac80211/ + +-# 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 diff --git a/compat/compat.h b/compat/compat.h index e23ab9d..c90ffc7 100644 --- a/compat/compat.h +++ b/compat/compat.h @@ -7,6 +7,7 @@ #include <linux/genetlink.h> #include <net/neighbour.h> #include <linux/version.h> +#include <linux/scatterlist.h> /* So all *.[ch] can pick up the options as if defined * by the kernel's .config. */ @@ -28,6 +29,11 @@ //#define CONFIG_B43_DEBUG 1 #define CONFIG_B43_DMA 1 #define CONFIG_B43_PIO 1 +#define CONFIG_B43LEGACY_PCI_AUTOSELECT 1 +#define CONFIG_B43LEGACY_PCICORE_AUTOSELECT 1 +#define CONFIG_B43LEGACY_DMA 1 +#define CONFIG_B43LEGACY_PIO 1 +#define CONFIG_B43LEGACY_DMA_AND_PIO_MODE 1 #define CONFIG_SSB 1 #define CONFIG_SSB_PCIHOST 1 @@ -42,6 +48,13 @@ #define CONFIG_RT2X00_LIB_FIRMWARE 1 +#define CONFIG_IEEE80211 1 +#define CONFIG_IEEE80211_CRYPT_CCMP 1 +#define CONFIG_IEEE80211_CRYPT_TKIP 1 +#define CONFIG_IEEE80211_CRYPT_WEP 1 +/* Die old softmac, die ! Bleed! */ +#undef CONFIG_IEEE80211_SOFTMAC + /* Compat work for 2.6.22 and 2.6.23 */ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) @@ -97,6 +110,42 @@ struct header_ops { unsigned char *haddr); }; +/* net/ieee80211/ieee80211_crypt_tkip uses sg_init_table. This was added on + * 2.6.24. CONFIG_DEBUG_SG was added in 2.6.24 as well, so lets just ignore + * the debug stuff. Note that adding this required changes to the struct + * scatterlist on include/asm/scatterlist*, so the right way to port this + * is to simply ignore the new structure changes and zero the scatterlist + * array. We lave the kdoc intact for reference. + */ + +/** + * sg_mark_end - Mark the end of the scatterlist + * @sg: SG entryScatterlist + * + * Description: + * Marks the passed in sg entry as the termination point for the sg + * table. A call to sg_next() on this entry will return NULL. + * + **/ +static inline void sg_mark_end(struct scatterlist *sg) +{ +} + +/** + * sg_init_table - Initialize SG table + * @sgl: The SG table + * @nents: Number of entries in table + * + * Notes: + * If this is part of a chained sg table, sg_mark_end() should be + * used only on the last table part. + * + **/ +static inline void sg_init_table(struct scatterlist *sgl, unsigned int nents) +{ + memset(sgl, 0, sizeof(*sgl) * nents); +} + #endif /* Compat work for 2.6.22 */ @@ -7,11 +7,6 @@ # build time. export -# Intel's ipws, needs the old ieee80211, eh, not yet. This will -# requires some work. -CONFIG_IPW2100=n -CONFIG_IPW2200=n - # Wireless subsystem stuff CONFIG_MAC80211=m CONFIG_MAC80211_RCSIMPLE=y @@ -26,7 +21,6 @@ CONFIG_IWL4965=m CONFIG_ZD1211RW_MAC80211=m # CONFIG_ZD1211RW_MAC80211_DEBUG is not set -# Not yet, set to m when ready CONFIG_B43=m CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y @@ -41,18 +35,13 @@ CONFIG_B43_DMA=y CONFIG_B43_PIO=y CONFIG_B43_DMA_AND_PIO_MODE=y -CONFIG_B43LEGACY=n +CONFIG_B43LEGACY=m CONFIG_B43LEGACY_PCI_AUTOSELECT=y CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y -# Libertas -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_USB=m -CONFIG_LIBERTAS_CS=m - # This is required for some cards CONFIG_EEPROM_93CX6=m @@ -62,7 +51,6 @@ CONFIG_RTL8187=m CONFIG_ADM8211=m # rt2x00 -# Not enabled yet, needs some more compat work CONFIG_RT2X00=m CONFIG_RT2X00_LIB=m CONFIG_RT2X00_LIB_PCI=m @@ -95,3 +83,24 @@ CONFIG_SSB_DRIVER_MIPS=n # CONFIG_SSB_DRIVER_EXTIF=y CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y + +# Old ieee80211 "stack" +# Note: old softmac is scheduled for removal so we +# ignore that stuff +CONFIG_IEEE80211=m +CONFIG_IEEE80211_CRYPT_CCMP=m +CONFIG_IEEE80211_CRYPT_TKIP=m +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_SOFTMAC=n + +# Old drivers which use the old stack + +# The Intel ipws +CONFIG_IPW2100=m +CONFIG_IPW2200=m + +# Libertas +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_CS=m + diff --git a/scripts/admin-update.sh b/scripts/admin-update.sh index ec6967c..5ac8b48 100755 --- a/scripts/admin-update.sh +++ b/scripts/admin-update.sh @@ -15,7 +15,7 @@ INCLUDE_LINUX="$INCLUDE_LINUX pci_ids.h bitops.h eeprom_93cx6.h" INCLUDE_NET="cfg80211.h ieee80211_radiotap.h iw_handler.h" INCLUDE_NET="$INCLUDE_NET mac80211.h wext.h wireless.h" -NET_DIRS="wireless mac80211" +NET_DIRS="wireless mac80211 ieee80211" GIT_TREE="/home/$USER/devel/wireless-2.6" # Drivers that have their own directory @@ -38,9 +38,11 @@ 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" mkdir -p include/linux/ include/net/ \ - net/mac80211/ net/wireless/ \ + net/mac80211/ net/wireless/ net/ieee80211/ \ drivers/ssb/ \ drivers/net/wireless/ diff --git a/scripts/load.sh b/scripts/load.sh index 25c5338..8decc2a 100755 --- a/scripts/load.sh +++ b/scripts/load.sh @@ -1,5 +1,6 @@ #!/bin/bash -MODULES="p54pci p54usb" +MODULES="ipw2100 ipw2200 libertas_cs ub8xxx" +MODULES="$MODULES p54pci p54usb" MODULES="$MODULES adm8211" MODULES="$MODULES zd1211rw-mac80211 rtl8180 rtl8187" MODULES="$MODULES p54pci p54usb iwl3945 zd1211rw-mac80211 rtl8180 rtl8187" diff --git a/scripts/unload.sh b/scripts/unload.sh index c195bc3..a8c21a2 100755 --- a/scripts/unload.sh +++ b/scripts/unload.sh @@ -2,14 +2,16 @@ # The old stack drivers and the mac80211 rc80211_simple modules # which is no longer on recent kernels (its internal) -OLD_MODULES="zd1211rw bcm43xx rc80211_simple" +OLD_MODULES="rc80211_simple zd1211rw bcm43xx" MODULES="$OLD_MODULES" +MODULES="$MODULES ieee80211softmac ieee80211_crypt ieee80211" +MODULES="$MODULES ipw2100 ipw2200" +MODULES="$MODULES libertas libertas_cs ub8xxx" MODULES="$MODULES adm8211" MODULES="$MODULES b43 b43legacy" MODULES="$MODULES iwl3945 iwl4965" MODULES="$MODULES ath5k zd1211rw-mac80211" MODULES="$MODULES p54pci p54usb p54common" -MODULES="$MODULES libertas libertas_cs usb8xxx" MODULES="$MODULES rt2400pci rt2500pci rt61pci" MODULES="$MODULES rt2500usb rt73usb" MODULES="$MODULES rt2x00usb rt2x00lib" |