From 437ad838dde0be1e7f6fd14074048f73813118e6 Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Thu, 30 Aug 2007 14:19:31 +0000 Subject: [PATCH] bcm43xx-mac80211 fixes: * make build depends on in-kernel mac80211 support * rework kconfig hack SVN-Revision: 8544 --- package/bcm43xx-mac80211/Makefile | 62 +++++++++++++++++++------------ 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/package/bcm43xx-mac80211/Makefile b/package/bcm43xx-mac80211/Makefile index e3cbc2c23a..8566bf4e40 100644 --- a/package/bcm43xx-mac80211/Makefile +++ b/package/bcm43xx-mac80211/Makefile @@ -15,43 +15,59 @@ PKG_RELEASE:=1 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME) include $(INCLUDE_DIR)/package.mk - -# This horrible, horrible hack is because I can't work out ow to add -# CONFIG_* definitions to a kernel config from an external module dir. -# It should come from a proper configuration based on the Kconfig in the src -# directory. -MAKE_CONFIGS=CONFIG_BCM43XX_MAC80211=m CONFIG_BCM43XX_MAC80211_PCI=y \ - CONFIG_BCM43XX_MAC80211_DEBUG=y CONFIG_BCM43XX_MAC80211_DMA=y \ - CONFIG_BCM43XX_MAC80211_PIO=y CONFIG_BCM43XX_MAC80211_DMA_AND_PIO_MODE=y - -BUILDFLAGS+=$(patsubst CONFIG_%, -DCONFIG_%, $(MAKE_CONFIGS)) +ifeq ($(DUMP),) + include $(LINUX_DIR)/.config +endif define KernelPackage/bcm43xx-mac80211 + SUBMENU:=Wireless Drivers TITLE:=Broadcom 43xx wireless support DESCRIPTION:=Kernel module for Broadcom 43xx wireless support (mac80211) VERSION:=$(PKG_RELEASE)+$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE) DEPENDS:=@LINUX_2_6_BRCM47XX +kmod-mac80211 - SUBMENU:=Wireless Drivers - ifneq ($(KERNEL_PATCHVER),2.6.21) + KCONFIG:=CONFIG_MAC80211 + FILES:=$(PKG_BUILD_DIR)/bcm43xx-mac80211.$(LINUX_KMOD_SUFFIX) # AUTOLOAD:=$(call AutoLoad,30,bcm43xx-mac80211) - FILES:=$(PKG_BUILD_DIR)/bcm43xx-mac80211.$(LINUX_KMOD_SUFFIX) - endif endef -define Build/Prepare - mkdir -p $(PKG_BUILD_DIR) - $(CP) ./src/bcm43xx/* $(PKG_BUILD_DIR)/ -endef +ifneq ($(CONFIG_MAC80211),) -ifneq ($(KERNEL_PATCHVER),2.6.21) - define Build/Compile - $(MAKE) $(MAKE_CONFIGS) -C "$(LINUX_DIR)" \ - CROSS_COMPILE="$(TARGET_CROSS)" \ + PKG_EXTRA_KCONFIG:= \ + CONFIG_BCM43XX_MAC80211=m \ + CONFIG_BCM43XX_MAC80211_PCI=y \ + CONFIG_BCM43XX_MAC80211_DEBUG=y \ + CONFIG_BCM43XX_MAC80211_DMA=y \ + CONFIG_BCM43XX_MAC80211_PIO=y \ + CONFIG_BCM43XX_MAC80211_DMA_AND_PIO_MODE=y \ + + PKG_EXTRA_CFLAGS:= \ + -I$(STAGING_DIR)/usr/include/mac80211 \ + $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \ + $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \ + + define Build/Compile/it + $(MAKE) -C "$(LINUX_DIR)" \ ARCH="$(LINUX_KARCH)" \ - EXTRA_CFLAGS="$(BUILDFLAGS)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ SUBDIRS="$(PKG_BUILD_DIR)" \ + $(PKG_EXTRA_KCONFIG) \ + EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS)" \ + V="$(V)" \ modules endef + endif +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./src/bcm43xx/* $(PKG_BUILD_DIR)/ +endef + +define Build/Configure +endef + +define Build/Compile +$(call Build/Compile/it) +endef + $(eval $(call KernelPackage,bcm43xx-mac80211)) -- 2.25.1