summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-03-08 22:05:36 +0000
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-03-08 22:05:36 +0000
commit43675759a3190947ddd18fa9f00c512ae459e50c (patch)
tree8479c7ae96aef72bb4822e0e293294f5d187180b
parent2c2e1ade7ce90e731ab9645eed3546db1e4ed6f3 (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.mk53
-rw-r--r--package/mac80211/Makefile107
-rw-r--r--package/mac80211/patches/006-disable_ipw2x00_build.patch11
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
-