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)),)
mkdir -p $(PKG_BUILD_DIR)
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
+define Build/Configure
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)";
+define Build/Compile
endef
include $(TOPDIR)/target/linux/*/modules.mk
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)
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)" \
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))
+++ /dev/null
-wlan
-wlan_scan_ap
-wlan_scan_sta
-ath_hal
-ath_rate_sample
-wlan_acl
-wlan_ccmp
-wlan_tkip
-wlan_wep
-wlan_xauth
+++ /dev/null
-diff -urN madwifi-0.9.2.old/ath/if_ath.c madwifi-0.9.2.dev/ath/if_ath.c
---- madwifi-0.9.2.old/ath/if_ath.c 2006-08-29 17:49:50.000000000 +0200
-+++ madwifi-0.9.2.dev/ath/if_ath.c 2006-08-29 17:49:50.000000000 +0200
-@@ -387,7 +387,7 @@
- struct ath_hal *ah;
- HAL_STATUS status;
- int error = 0, i;
-- int autocreatemode = IEEE80211_M_STA;
-+ int autocreatemode = IEEE80211_M_HOSTAP;
- u_int8_t csz;
-
- sc->devid = devid;
--- /dev/null
+diff -urN madwifi-0.9.2.old/ath/if_ath.c madwifi-0.9.2.dev/ath/if_ath.c
+--- madwifi-0.9.2.old/ath/if_ath.c 2006-08-29 17:49:50.000000000 +0200
++++ madwifi-0.9.2.dev/ath/if_ath.c 2006-08-29 17:49:50.000000000 +0200
+@@ -387,7 +387,7 @@
+ struct ath_hal *ah;
+ HAL_STATUS status;
+ int error = 0, i;
+- int autocreatemode = IEEE80211_M_STA;
++ int autocreatemode = -1;
+ u_int8_t csz;
+
+ sc->devid = devid;