From 32885a5a05fd7b94192098a7f1fec273b80ad7b3 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 8 Mar 2010 22:05:36 +0000 Subject: [PATCH] mac80211: build ipw2x00 driver from compat-wireless ipw2x00 now depends on cfg80211 which is build form compat-wireless and not directly from kernel. SVN-Revision: 20073 --- package/kernel/modules/wireless.mk | 53 --------- package/mac80211/Makefile | 107 ++++++++++++++++-- .../patches/006-disable_ipw2x00_build.patch | 11 -- 3 files changed, 96 insertions(+), 75 deletions(-) delete mode 100644 package/mac80211/patches/006-disable_ipw2x00_build.patch diff --git a/package/kernel/modules/wireless.mk b/package/kernel/modules/wireless.mk index 95bab55a239..9f498ee909d 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 fffed375767..8e1634364bd 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 3a6b4c204f2..00000000000 --- 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 -