From 7435fccb9c26ac860133914a21db364b88225235 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 20 Aug 2009 16:52:46 +0000 Subject: [PATCH] mac80211: speed up build by reducing the makefile shell calls, fix forced disable of rfkill SVN-Revision: 17335 --- package/mac80211/Makefile | 14 +- .../mac80211/patches/001-speedup_build.patch | 155 ++++++++++++++++++ .../mac80211/patches/002-disable_rfkill.patch | 58 +++++++ ...09-remove_mac80211_module_dependence.patch | 2 +- 4 files changed, 223 insertions(+), 6 deletions(-) create mode 100644 package/mac80211/patches/001-speedup_build.patch create mode 100644 package/mac80211/patches/002-disable_rfkill.patch diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index fa42cbcb7d..1b283b9014 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -457,7 +457,6 @@ MAKE_OPTS:= \ CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \ CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \ CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \ - CONFIG_RT2X00_LIB_RFKILL= \ CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \ CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \ CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \ @@ -477,6 +476,9 @@ MAKE_OPTS:= \ CONFIG_IPW2200= \ CONFIG_NL80211=y \ CONFIG_LIB80211= \ + CONFIG_LIB80211_CRYPT_WEP= \ + CONFIG_LIB80211_CRYPT_CCMP= \ + CONFIG_LIB80211_CRYPT_TKIP= \ CONFIG_IWLWIFI= \ CONFIG_IWLAGN= \ CONFIG_MWL8K= \ @@ -485,15 +487,17 @@ MAKE_OPTS:= \ CONFIG_ADM8211= \ CONFIG_USB_NET_RNDIS_HOST= \ CONFIG_USB_NET_RNDIS_WLAN= \ + CONFIG_USB_NET_CDCETHER= \ CONFIG_AT76C50X_USB= \ - CONFIG_RFKILL_BACKPORT= \ - CONFIG_RFKILL_BACKPORT_LEDS= \ - CONFIG_RFKILL_BACKPORT_INPUT= \ CONFIG_WL12XX= \ CONFIG_EEPROM_93CX6= \ CONFIG_AR9170_USB= \ + MADWIFI= \ + OLD_IWL= \ KLIB_BUILD="$(LINUX_DIR)" \ - MODPROBE=: + MODPROBE=: \ + KLIB=$(TARGET_MODULES_DIR) \ + KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) define Build/Prepare rm -rf $(PKG_BUILD_DIR) diff --git a/package/mac80211/patches/001-speedup_build.patch b/package/mac80211/patches/001-speedup_build.patch new file mode 100644 index 0000000000..6f4c3d113e --- /dev/null +++ b/package/mac80211/patches/001-speedup_build.patch @@ -0,0 +1,155 @@ +--- a/config.mk ++++ b/config.mk +@@ -17,15 +17,19 @@ ifeq ($(CONFIG_MAC80211),y) + $(error "ERROR: you have MAC80211 compiled into the kernel, CONFIG_MAC80211=y, as such you cannot replace its mac80211 driver. You need this set to CONFIG_MAC80211=m. If you are using Fedora upgrade your kernel as later version should this set as modular. For further information on Fedora see https://bugzilla.redhat.com/show_bug.cgi?id=470143. If you are using your own kernel recompile it and make mac80211 modular") + endif + ++ + # We will warn when you don't have MQ support or NET_SCHED enabled. + # + # We could consider just quiting if MQ and NET_SCHED is disabled + # as I suspect all users of this package want 802.11e (WME) and + # 802.11n (HT) support. +-ifeq ($(shell test -e $(KLIB_BUILD)/Makefile && echo yes),yes) +-KERNEL_SUBLEVEL = $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p') ++ifneq ($(wildcard $(KLIB_BUILD)/Makefile),) ++COMPAT_LATEST_VERSION = 32 ++KERNEL_SUBLEVEL ?= $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p') ++COMPAT_VERSIONS ?= $(shell I=$(COMPAT_LATEST_VERSION); while [ "$$I" -gt $(KERNEL_SUBLEVEL) ]; do echo $$I; I=$$(($$I - 1)); done) ++$(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_WIRELESS_$(ver)=y)) + +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -lt 25 && echo yes),yes) ++ifdef CONFIG_COMPAT_WIRELESS_25 + $(error "ERROR: You should use compat-wireless-2.6-old for older kernels, this one is for kernels >= 2.6.25") + endif + +@@ -34,56 +38,10 @@ $(error "ERROR: your kernel has CONFIG_C + endif + + +-# Compat wireless compat-2.6.2x.c files gets selected here +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 21 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_22=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 22 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_23=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 23 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_24=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 24 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_25=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 25 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_26=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_27=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 27 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_28=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 28 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_29=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 29 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_30=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 30 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_31=y +-endif +- +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 31 && echo yes),yes) +-CONFIG_COMPAT_WIRELESS_32=y +-endif +- + # 2.6.27 has FTRACE_DYNAMIC borked, so we will complain if + # you have it enabled, otherwise you will very likely run into + # a kernel panic. +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -eq 27 && echo yes),yes) ++ifeq ($(KERNEL_SUBLEVEL),27) + ifeq ($(CONFIG_DYNAMIC_FTRACE),y) + $(error "ERROR: Your 2.6.27 kernel has CONFIG_DYNAMIC_FTRACE, please upgrade your distribution kernel as newer ones should not have this enabled (and if so report a bug) or remove this warning if you know what you are doing") + endif +@@ -291,7 +249,7 @@ endif + + ifneq ($(CONFIG_PCMCIA),) + +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes) ++ifdef CONFIG_COMPAT_WIRELESS_25 + CONFIG_LIBERTAS=n + CONFIG_LIBERTAS_CS=n + else +@@ -327,7 +285,7 @@ CONFIG_RTL8187=m + + CONFIG_AT76C50X_USB=m + +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 28 && echo yes),yes) ++ifndef CONFIG_COMPAT_WIRELESS_28 + CONFIG_AR9170_USB=m + CONFIG_AR9170_LEDS=y + endif +@@ -343,7 +301,7 @@ CONFIG_RT73USB=m + NEED_RT2X00_FIRMWARE=y + endif + +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes) ++ifdef CONFIG_COMPAT_WIRELESS_27 + CONFIG_LIBERTAS_THINFIRM_USB=n + CONFIG_LIBERTAS_USB=n + NEED_LIBERTAS=n +@@ -360,7 +318,7 @@ ifneq ($(CONFIG_SPI_MASTER),) + CONFIG_WL1251=m + CONFIG_P54_SPI=m + +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes) ++ifdef CONFIG_COMPAT_WIRELESS_27 + CONFIG_LIBERTAS_SPI=n + NEED_LIBERTAS=n + else +@@ -372,7 +330,7 @@ endif # end of SPI driver list + + ifneq ($(CONFIG_MMC),) + +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes) ++ifdef CONFIG_COMPAT_WIRELESS_27 + CONFIG_LIBERTAS_SDIO=n + NEED_LIBERTAS=n + else +@@ -382,7 +340,7 @@ endif + + # Activate iwmc3200wifi support only on kernel >= 2.6.29. + # iwmc3200wifi uses new netdev_ops api no supported by old kernel. +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 29 && echo yes),yes) ++ifndef CONFIG_COMPAT_WIRELESS_29 + CONFIG_IWM=m + # CONFIG_IWM_DEBUG=y + endif +@@ -425,7 +383,7 @@ CONFIG_SSB=m + CONFIG_SSB_SPROM=y + # CONFIG_SSB_DEBUG=y + +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes) ++ifdef CONFIG_COMPAT_WIRELESS_27 + CONFIG_LIBERTAS=n + else + ifeq ($(NEED_LIBERTAS),y) +@@ -437,7 +395,7 @@ endif + + # We need the backported rfkill module on kernel < 2.6.31. + # In more recent kernel versions use the in kernel rfkill module. +-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 30 && echo yes),yes) ++ifdef CONFIG_COMPAT_WIRELESS_31 + CONFIG_RFKILL_BACKPORT=m + CONFIG_RFKILL_BACKPORT_LEDS=y + CONFIG_RFKILL_BACKPORT_INPUT=y diff --git a/package/mac80211/patches/002-disable_rfkill.patch b/package/mac80211/patches/002-disable_rfkill.patch new file mode 100644 index 0000000000..6488ef6d13 --- /dev/null +++ b/package/mac80211/patches/002-disable_rfkill.patch @@ -0,0 +1,58 @@ +--- a/config.mk ++++ b/config.mk +@@ -127,14 +127,14 @@ ifneq ($(CONFIG_PCI),) + + CONFIG_ATH5K=m + # CONFIG_ATH5K_DEBUG=y +-CONFIG_ATH5K_RFKILL=y ++# CONFIG_ATH5K_RFKILL=y + CONFIG_ATH9K=m + # CONFIG_ATH9K_DEBUG=y + + + CONFIG_IWLWIFI=m + CONFIG_IWLWIFI_LEDS=y +-CONFIG_IWLWIFI_RFKILL=y ++# CONFIG_IWLWIFI_RFKILL=y + CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y + # CONFIG_IWLWIFI_DEBUG=y + # CONFIG_IWLWIFI_DEBUGFS=y +@@ -154,7 +154,7 @@ CONFIG_B43_PCMCIA=y + endif + CONFIG_B43_PIO=y + CONFIG_B43_LEDS=y +-CONFIG_B43_RFKILL=y ++# CONFIG_B43_RFKILL=y + CONFIG_B43_PHY_LP=y + # CONFIG_B43_DEBUG=y + # CONFIG_B43_FORCE_PIO=y +@@ -164,7 +164,7 @@ CONFIG_B43LEGACY_HWRNG=y + CONFIG_B43LEGACY_PCI_AUTOSELECT=y + CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y + CONFIG_B43LEGACY_LEDS=y +-CONFIG_B43LEGACY_RFKILL=y ++# CONFIG_B43LEGACY_RFKILL=y + # CONFIG_B43LEGACY_DEBUG=y + CONFIG_B43LEGACY_DMA=y + CONFIG_B43LEGACY_PIO=y +@@ -354,7 +354,7 @@ CONFIG_RT2X00_LIB=m + CONFIG_RT2X00_LIB_HT=y + CONFIG_RT2X00_LIB_FIRMWARE=y + CONFIG_RT2X00_LIB_CRYPTO=y +-CONFIG_RT2X00_LIB_RFKILL=y ++# CONFIG_RT2X00_LIB_RFKILL=y + CONFIG_RT2X00_LIB_LEDS=y + # CONFIG_RT2X00_LIB_DEBUGFS=y + # CONFIG_RT2X00_DEBUG=y +@@ -396,8 +396,8 @@ endif + # We need the backported rfkill module on kernel < 2.6.31. + # In more recent kernel versions use the in kernel rfkill module. + ifdef CONFIG_COMPAT_WIRELESS_31 +-CONFIG_RFKILL_BACKPORT=m +-CONFIG_RFKILL_BACKPORT_LEDS=y +-CONFIG_RFKILL_BACKPORT_INPUT=y ++# CONFIG_RFKILL_BACKPORT=m ++# CONFIG_RFKILL_BACKPORT_LEDS=y ++# CONFIG_RFKILL_BACKPORT_INPUT=y + endif + diff --git a/package/mac80211/patches/009-remove_mac80211_module_dependence.patch b/package/mac80211/patches/009-remove_mac80211_module_dependence.patch index e84097aab0..d1c91594ae 100644 --- a/package/mac80211/patches/009-remove_mac80211_module_dependence.patch +++ b/package/mac80211/patches/009-remove_mac80211_module_dependence.patch @@ -1,6 +1,6 @@ --- a/config.mk +++ b/config.mk -@@ -89,21 +89,6 @@ $(error "ERROR: Your 2.6.27 kernel has C +@@ -47,21 +47,6 @@ $(error "ERROR: Your 2.6.27 kernel has C endif endif