diff options
| author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-03-08 22:05:36 +0000 | 
|---|---|---|
| committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-03-08 22:05:36 +0000 | 
| commit | 43675759a3190947ddd18fa9f00c512ae459e50c (patch) | |
| tree | 8479c7ae96aef72bb4822e0e293294f5d187180b | |
| parent | 2c2e1ade7ce90e731ab9645eed3546db1e4ed6f3 (diff) | |
mac80211: build ipw2x00 driver from compat-wireless
ipw2x00 now depends on cfg80211 which is build form compat-wireless and not directly from kernel.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20073 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | package/kernel/modules/wireless.mk | 53 | ||||
| -rw-r--r-- | package/mac80211/Makefile | 107 | ||||
| -rw-r--r-- | package/mac80211/patches/006-disable_ipw2x00_build.patch | 11 | 
3 files changed, 96 insertions, 75 deletions
diff --git a/package/kernel/modules/wireless.mk b/package/kernel/modules/wireless.mk index 95bab55a2..9f498ee90 100644 --- a/package/kernel/modules/wireless.mk +++ b/package/kernel/modules/wireless.mk @@ -40,59 +40,6 @@ endef  $(eval $(call KernelPackage,lib80211)) - -define KernelPackage/net-libipw -  SUBMENU:=$(WIRELESS_MENU) -  TITLE:=libipw for ipw2100 and ipw2200 -  DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 -  KCONFIG:=CONFIG_LIBIPW -  FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/libipw.$(LINUX_KMOD_SUFFIX) -  AUTOLOAD:=$(call AutoLoad,49,libipw) -endef - -define KernelPackage/net-libipw/description - Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200. -endef - -$(eval $(call KernelPackage,net-libipw)) - - -define KernelPackage/net-ipw2100 -  SUBMENU:=$(WIRELESS_MENU) -  TITLE:=Intel IPW2100 driver -  DEPENDS:=@PCI_SUPPORT +kmod-net-libipw -  KCONFIG:=CONFIG_IPW2100 -  FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/ipw2100.$(LINUX_KMOD_SUFFIX) -  AUTOLOAD:=$(call AutoLoad,50,ipw2100) -endef - -define KernelPackage/net-ipw2100/description - Kernel support for Intel IPW2100 - Includes: - - ipw2100 -endef - -$(eval $(call KernelPackage,net-ipw2100)) - - -define KernelPackage/net-ipw2200 -  SUBMENU:=$(WIRELESS_MENU) -  TITLE:=Intel IPW2200 driver -  DEPENDS:=@PCI_SUPPORT +kmod-net-libipw -  KCONFIG:=CONFIG_IPW2200 -  FILES:=$(LINUX_DIR)/drivers/net/wireless/ipw2x00/ipw2200.$(LINUX_KMOD_SUFFIX) -  AUTOLOAD:=$(call AutoLoad,50,ipw2200) -endef - -define KernelPackage/net-ipw2200/description - Kernel support for Intel IPW2200 - Includes: - - ipw2200 -endef - -$(eval $(call KernelPackage,net-ipw2200)) - -  define KernelPackage/net-airo    SUBMENU:=$(WIRELESS_MENU)    TITLE:=Cisco Aironet driver diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index fffed3757..8e1634364 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -38,25 +38,34 @@ define KernelPackage/mac80211/Default    DEPENDS:=@LINUX_2_6 @!TARGET_avr32 @(!(TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)  endef -define KernelPackage/mac80211 +define KernelPackage/cfg80211    $(call KernelPackage/mac80211/Default) -  TITLE:=Linux 802.11 Wireless Networking Stack -  DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools +iw @!LINUX_2_6_25 +  TITLE:=cfg80211 - wireless configuration API +  DEPENDS+= +wireless-tools +iw @!LINUX_2_6_25  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)     FILES:= \  	$(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \ -	$(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \  	$(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX) -  AUTOLOAD:=$(call AutoLoad,20,compat cfg80211 mac80211) +  AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)  else     FILES:= \  	$(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \  	$(PKG_BUILD_DIR)/compat/compat_firmware_class.$(LINUX_KMOD_SUFFIX) \ -	$(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \  	$(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX) -  AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211 mac80211) +  AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)  endif +endef +define KernelPackage/cfg80211/description +cfg80211 is the Linux wireless LAN (802.11) configuration API. +endef + +define KernelPackage/mac80211 +  $(call KernelPackage/mac80211/Default) +  TITLE:=Linux 802.11 Wireless Networking Stack +  DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211 +  FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) +  AUTOLOAD:=$(call AutoLoad,21,mac80211)  endef  define KernelPackage/mac80211/config @@ -64,7 +73,7 @@ define KernelPackage/mac80211/config  endef  define KernelPackage/mac80211/description -Linux 802.11 Wireless Networking Stack +Generic IEEE 802.11 Networking Stack (mac80211)  endef  # Prism54 drivers @@ -404,6 +413,66 @@ define KernelPackage/mac80211-hwsim    AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)  endef +define KernelPackage/net-libipw +  $(call KernelPackage/mac80211/Default) +  TITLE:=libipw for ipw2100 and ipw2200 +  DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.$(LINUX_KMOD_SUFFIX) +  AUTOLOAD:=$(call AutoLoad,49,libipw) +endef + +define KernelPackage/net-libipw/description + Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200. +endef + +IPW2100_NAME:=ipw2100-fw +IPW2100_VERSION:=1.3 + +define Download/net-ipw2100 +  URL:=http://bughost.org/firmware/ +  FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz +  MD5SUM=46aa75bcda1a00efa841f9707bbbd113 +endef +$(eval $(call Download,net-ipw2100)) + +define KernelPackage/net-ipw2100 +  $(call KernelPackage/mac80211/Default) +  TITLE:=Intel IPW2100 driver +  DEPENDS:=@PCI_SUPPORT +kmod-net-libipw +  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.$(LINUX_KMOD_SUFFIX) +  AUTOLOAD:=$(call AutoLoad,50,ipw2100) +endef + +define KernelPackage/net-ipw2100/description + Kernel support for Intel IPW2100 + Includes: + - ipw2100 +endef + +IPW2200_NAME:=ipw2200-fw +IPW2200_VERSION:=3.1 + +define Download/net-ipw2200 +  URL:=http://bughost.org/firmware/ +  FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz +  MD5SUM=eaba788643c7cc7483dd67ace70f6e99 +endef +$(eval $(call Download,net-ipw2200)) + +define KernelPackage/net-ipw2200 +  $(call KernelPackage/mac80211/Default) +  TITLE:=Intel IPW2200 driver +  DEPENDS:=@PCI_SUPPORT +kmod-net-libipw +  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.$(LINUX_KMOD_SUFFIX) +  AUTOLOAD:=$(call AutoLoad,50,ipw2200) +endef + +define KernelPackage/net-ipw2200/description + Kernel support for Intel IPW2200 + Includes: + - ipw2200 +endef +  #Broadcom firmware  ifneq ($(CONFIG_B43_EXPERIMENTAL),)    PKG_B43_FWV4_NAME:=broadcom-wl @@ -580,14 +649,14 @@ MAKE_OPTS:= \  	CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \  	CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \  	CONFIG_PCMCIA= \ -	CONFIG_LIBIPW= \ +	CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \  	CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \  	CONFIG_LIBERTAS_CS= \  	CONFIG_LIBERTAS_SDIO= \  	CONFIG_LIBERTAS_THINFIRM= \  	CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \ -	CONFIG_IPW2100= \ -	CONFIG_IPW2200= \ +	CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \ +	CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \  	CONFIG_NL80211=y \  	CONFIG_LIB80211= \  	CONFIG_LIB80211_CRYPT_WEP= \ @@ -625,6 +694,8 @@ define Build/Prepare  	unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)  	-unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)  	-unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW) +	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz +	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz  	$(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2  	rm -rf $(PKG_BUILD_DIR)/include/linux/ssb  	rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h @@ -702,6 +773,16 @@ define KernelPackage/ar9170/install  	$(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/  endef +define KernelPackage/net-ipw2100/install +	$(INSTALL_DIR) $(1)/lib/firmware +	$(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware +endef + +define KernelPackage/net-ipw2200/install +	$(INSTALL_DIR) $(1)/lib/firmware +	$(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware +endef +  define Build/b43-common  	tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"  	$(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \ @@ -751,6 +832,7 @@ endef  $(eval $(call KernelPackage,ath5k))  $(eval $(call KernelPackage,libertas)) +$(eval $(call KernelPackage,cfg80211))  $(eval $(call KernelPackage,mac80211))  $(eval $(call KernelPackage,p54-common))  $(eval $(call KernelPackage,p54-pci)) @@ -775,3 +857,6 @@ $(eval $(call KernelPackage,ath))  $(eval $(call KernelPackage,ar9170))  $(eval $(call KernelPackage,b43))  $(eval $(call KernelPackage,b43legacy)) +$(eval $(call KernelPackage,net-libipw)) +$(eval $(call KernelPackage,net-ipw2100)) +$(eval $(call KernelPackage,net-ipw2200)) diff --git a/package/mac80211/patches/006-disable_ipw2x00_build.patch b/package/mac80211/patches/006-disable_ipw2x00_build.patch deleted file mode 100644 index 3a6b4c204..000000000 --- a/package/mac80211/patches/006-disable_ipw2x00_build.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/Makefile -+++ b/drivers/net/wireless/Makefile -@@ -2,8 +2,6 @@ - # Makefile for the Linux Wireless network device drivers. - # -  --obj-$(CONFIG_IPW2100) += ipw2x00/ --obj-$(CONFIG_IPW2200) += ipw2x00/ -  - obj-$(CONFIG_AT76C50X_USB)      += at76c50x-usb.o -   | 
