make kernel module packaging code reusable and use it in madwifi
SVN-Revision: 5189
This commit is contained in:
parent
92ced53400
commit
547b127d7a
5 changed files with 104 additions and 99 deletions
|
@ -59,6 +59,69 @@ else
|
|||
LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
|
||||
endif
|
||||
|
||||
|
||||
define KernelPackage/Defaults
|
||||
FILES:=
|
||||
KCONFIG:=m
|
||||
AUTOLOAD:=
|
||||
endef
|
||||
|
||||
define ModuleAutoLoad
|
||||
export modules=; \
|
||||
add_module() { \
|
||||
mkdir -p $(2)/etc/modules.d; \
|
||||
echo "$$$$$$$$2" > $(2)/etc/modules.d/$$$$$$$$1-$(1); \
|
||||
modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \
|
||||
}; \
|
||||
$(3) \
|
||||
if [ -n "$$$$$$$$modules" ]; then \
|
||||
mkdir -p $(2)/etc/modules.d; \
|
||||
echo "#!/bin/sh" > $(2)/CONTROL/postinst; \
|
||||
echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst; \
|
||||
echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \
|
||||
echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \
|
||||
chmod 0755 $(2)/CONTROL/postinst; \
|
||||
fi
|
||||
endef
|
||||
|
||||
|
||||
define KernelPackage
|
||||
NAME:=$(1)
|
||||
$(eval $(call KernelPackage/Defaults))
|
||||
$(eval $(call KernelPackage/$(1)))
|
||||
$(eval $(call KernelPackage/$(1)/$(KERNEL)))
|
||||
$(eval $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL)))
|
||||
|
||||
define Package/kmod-$(1)
|
||||
TITLE:=$(TITLE)
|
||||
SECTION:=kernel
|
||||
CATEGORY:=Kernel modules
|
||||
DEFAULT:=m
|
||||
DESCRIPTION:=$(DESCRIPTION)
|
||||
EXTRA_DEPENDS:='kernel (=$(PKG_VERSION)-$(PKG_RELEASE))'
|
||||
$(call KernelPackage/$(1))
|
||||
$(call KernelPackage/$(1)/$(KERNEL))
|
||||
$(call KernelPackage/$(1)/$(BOARD)-$(KERNEL))
|
||||
endef
|
||||
|
||||
ifeq ($(findstring m,$(KCONFIG)),m)
|
||||
ifneq ($(strip $(FILES)),)
|
||||
define Package/kmod-$(1)/install
|
||||
mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
|
||||
$(CP) $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
|
||||
$(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
|
||||
$(call KernelPackage/$(1)/install,$$(1))
|
||||
endef
|
||||
endif
|
||||
endif
|
||||
$$(eval $$(call BuildPackage,kmod-$(1)))
|
||||
endef
|
||||
|
||||
define AutoLoad
|
||||
add_module $(1) "$(2)";
|
||||
endef
|
||||
|
||||
|
||||
# FIXME: remove this crap
|
||||
define KMOD_template
|
||||
ifeq ($$(strip $(4)),)
|
||||
|
|
|
@ -26,68 +26,11 @@ define Build/Prepare
|
|||
mkdir -p $(PKG_BUILD_DIR)
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define KernelPackage/Defaults
|
||||
FILES:=
|
||||
KCONFIG:=m
|
||||
AUTOLOAD:=
|
||||
endef
|
||||
|
||||
define ModuleAutoLoad
|
||||
export modules=; \
|
||||
add_module() { \
|
||||
mkdir -p $(2)/etc/modules.d; \
|
||||
echo "$$$$$$$$2" > $(2)/etc/modules.d/$$$$$$$$1-$(1); \
|
||||
modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \
|
||||
}; \
|
||||
$(3) \
|
||||
if [ -n "$$$$$$$$modules" ]; then \
|
||||
mkdir -p $(2)/etc/modules.d; \
|
||||
echo "#!/bin/sh" > $(2)/CONTROL/postinst; \
|
||||
echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst; \
|
||||
echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \
|
||||
echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \
|
||||
chmod 0755 $(2)/CONTROL/postinst; \
|
||||
fi
|
||||
endef
|
||||
|
||||
|
||||
define KernelPackage
|
||||
NAME:=$(1)
|
||||
$(eval $(call KernelPackage/Defaults))
|
||||
$(eval $(call KernelPackage/$(1)))
|
||||
$(eval $(call KernelPackage/$(1)/$(KERNEL)))
|
||||
$(eval $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL)))
|
||||
|
||||
define Package/kmod-$(1)
|
||||
TITLE:=$(TITLE)
|
||||
SECTION:=kernel
|
||||
CATEGORY:=Kernel modules
|
||||
DEFAULT:=m
|
||||
DESCRIPTION:=$(DESCRIPTION)
|
||||
EXTRA_DEPENDS:='kernel (=$(PKG_VERSION)-$(PKG_RELEASE))'
|
||||
$(call KernelPackage/$(1))
|
||||
$(call KernelPackage/$(1)/$(KERNEL))
|
||||
$(call KernelPackage/$(1)/$(BOARD)-$(KERNEL))
|
||||
endef
|
||||
|
||||
ifeq ($(findstring m,$(KCONFIG)),m)
|
||||
ifneq ($(strip $(FILES)),)
|
||||
define Package/kmod-$(1)/install
|
||||
mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
|
||||
$(CP) $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
|
||||
$(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
|
||||
endef
|
||||
endif
|
||||
endif
|
||||
$$(eval $$(call BuildPackage,kmod-$(1)))
|
||||
endef
|
||||
|
||||
define AutoLoad
|
||||
add_module $(1) "$(2)";
|
||||
endef
|
||||
|
||||
include $(TOPDIR)/target/linux/*/modules.mk
|
||||
include ./modules/*.mk
|
||||
|
|
|
@ -22,17 +22,6 @@ PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
|||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/kmod-madwifi
|
||||
SECTION:=kernel
|
||||
CATEGORY:=Kernel drivers
|
||||
DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL
|
||||
TITLE:=Driver for Atheros wireless chipsets
|
||||
DESCRIPTION:=\
|
||||
This package contains a driver for Atheros 802.11a/b/g chipsets.
|
||||
URL:=http://madwifi.org/
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
endef
|
||||
|
||||
RATE_CONTROL:=sample
|
||||
|
||||
ifeq ($(ARCH),mips)
|
||||
|
@ -67,6 +56,41 @@ ifeq ($(findstring PCI,$(BUS)),PCI)
|
|||
BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX)
|
||||
endif
|
||||
|
||||
MADWIFI_AUTOLOAD:= \
|
||||
wlan \
|
||||
wlan_scan_ap \
|
||||
wlan_scan_sta \
|
||||
ath_hal \
|
||||
ath_rate_$(RATE_CONTROL) \
|
||||
wlan_acl \
|
||||
wlan_ccmp \
|
||||
wlan_tkip \
|
||||
wlan_wep \
|
||||
wlan_xauth
|
||||
|
||||
ifeq ($(findstring AHB,$(BUS)),AHB)
|
||||
MADWIFI_AUTOLOAD += ath_ahb
|
||||
endif
|
||||
ifeq ($(findstring PCI,$(BUS)),PCI)
|
||||
MADWIFI_AUTOLOAD += ath_pci
|
||||
endif
|
||||
|
||||
define KernelPackage/madwifi
|
||||
SUBMENU:=Network Devices
|
||||
DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL
|
||||
TITLE:=Driver for Atheros wireless chipsets
|
||||
DESCRIPTION:=\
|
||||
This package contains a driver for Atheros 802.11a/b/g chipsets.
|
||||
URL:=http://madwifi.org/
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
FILES:= \
|
||||
$(PKG_BUILD_DIR)/ath/ath_hal.$(LINUX_KMOD_SUFFIX) \
|
||||
$(BUS_MODULES) \
|
||||
$(PKG_BUILD_DIR)/ath_rate/$(RATE_CONTROL)/ath_rate_$(RATE_CONTROL).$(LINUX_KMOD_SUFFIX) \
|
||||
$(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,50,$(MADWIFI_AUTOLOAD))
|
||||
endef
|
||||
|
||||
MADWIFI_MAKEOPTS= -C $(PKG_BUILD_DIR) \
|
||||
PATH="$(TARGET_PATH)" \
|
||||
ARCH="$(LINUX_KARCH)" \
|
||||
|
@ -107,27 +131,12 @@ define Build/UninstallDev
|
|||
rm -rf $(STAGING_DIR)/usr/include/madwifi
|
||||
endef
|
||||
|
||||
define Package/kmod-madwifi/install
|
||||
mkdir -p $(1)/etc/modules.d
|
||||
define KernelPackage/madwifi/install
|
||||
mkdir -p $(1)/etc/init.d
|
||||
mkdir -p $(1)/lib/modules/$(LINUX_VERSION)
|
||||
mkdir -p $(1)/usr/sbin
|
||||
install -m0644 ./files/madwifi.modules $(1)/etc/modules.d/20-madwifi
|
||||
echo ath_rate_$(RATE_CONTROL) >> $(1)/etc/modules.d/20-madwifi
|
||||
ifeq ($(findstring AHB,$(BUS)),AHB)
|
||||
echo ath_ahb >> $(1)/etc/modules.d/20-madwifi
|
||||
endif
|
||||
ifeq ($(findstring PCI,$(BUS)),PCI)
|
||||
echo "ath_pci autocreate=none" >> $(1)/etc/modules.d/20-madwifi
|
||||
endif
|
||||
install -m0755 ./files/madwifi.init $(1)/etc/init.d/madwifi
|
||||
$(CP) \
|
||||
$(PKG_BUILD_DIR)/ath/ath_hal.$(LINUX_KMOD_SUFFIX) \
|
||||
$(BUS_MODULES) \
|
||||
$(PKG_BUILD_DIR)/ath_rate/$(RATE_CONTROL)/ath_rate_$(RATE_CONTROL).$(LINUX_KMOD_SUFFIX) \
|
||||
$(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX) \
|
||||
$(1)/lib/modules/$(LINUX_VERSION)/
|
||||
$(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,kmod-madwifi))
|
||||
$(eval $(call KernelPackage,madwifi))
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
wlan
|
||||
wlan_scan_ap
|
||||
wlan_scan_sta
|
||||
ath_hal
|
||||
ath_rate_sample
|
||||
wlan_acl
|
||||
wlan_ccmp
|
||||
wlan_tkip
|
||||
wlan_wep
|
||||
wlan_xauth
|
|
@ -6,7 +6,7 @@ diff -urN madwifi-0.9.2.old/ath/if_ath.c madwifi-0.9.2.dev/ath/if_ath.c
|
|||
HAL_STATUS status;
|
||||
int error = 0, i;
|
||||
- int autocreatemode = IEEE80211_M_STA;
|
||||
+ int autocreatemode = IEEE80211_M_HOSTAP;
|
||||
+ int autocreatemode = -1;
|
||||
u_int8_t csz;
|
||||
|
||||
sc->devid = devid;
|
Loading…
Reference in a new issue