Changeset 5189


Ignore:
Timestamp:
2006-10-17T18:13:10+02:00 (10 years ago)
Author:
nbd
Message:

make kernel module packaging code reusable and use it in madwifi

Location:
trunk
Files:
1 deleted
3 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/include/kernel.mk

    r5013 r5189  
    6060endif 
    6161 
     62 
     63define KernelPackage/Defaults 
     64  FILES:= 
     65  KCONFIG:=m 
     66  AUTOLOAD:= 
     67endef 
     68 
     69define ModuleAutoLoad 
     70        export modules=; \ 
     71        add_module() { \ 
     72                mkdir -p $(2)/etc/modules.d; \ 
     73                echo "$$$$$$$$2" > $(2)/etc/modules.d/$$$$$$$$1-$(1); \ 
     74                modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \ 
     75        }; \ 
     76        $(3) \ 
     77        if [ -n "$$$$$$$$modules" ]; then \ 
     78                mkdir -p $(2)/etc/modules.d; \ 
     79                echo "#!/bin/sh" > $(2)/CONTROL/postinst; \ 
     80                echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst; \ 
     81                echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \ 
     82                echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \ 
     83                chmod 0755 $(2)/CONTROL/postinst; \ 
     84        fi 
     85endef 
     86  
     87 
     88define KernelPackage 
     89  NAME:=$(1) 
     90  $(eval $(call KernelPackage/Defaults)) 
     91  $(eval $(call KernelPackage/$(1))) 
     92  $(eval $(call KernelPackage/$(1)/$(KERNEL))) 
     93  $(eval $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL))) 
     94 
     95  define Package/kmod-$(1) 
     96    TITLE:=$(TITLE) 
     97    SECTION:=kernel 
     98    CATEGORY:=Kernel modules 
     99    DEFAULT:=m 
     100    DESCRIPTION:=$(DESCRIPTION) 
     101    EXTRA_DEPENDS:='kernel (=$(PKG_VERSION)-$(PKG_RELEASE))' 
     102    $(call KernelPackage/$(1)) 
     103    $(call KernelPackage/$(1)/$(KERNEL)) 
     104    $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL)) 
     105  endef 
     106 
     107  ifeq ($(findstring m,$(KCONFIG)),m) 
     108    ifneq ($(strip $(FILES)),) 
     109      define Package/kmod-$(1)/install 
     110                mkdir -p $$(1)/lib/modules/$(LINUX_VERSION) 
     111                $(CP) $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/ 
     112                $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD)) 
     113                $(call KernelPackage/$(1)/install,$$(1)) 
     114      endef 
     115    endif 
     116  endif 
     117  $$(eval $$(call BuildPackage,kmod-$(1))) 
     118endef 
     119 
     120define AutoLoad 
     121  add_module $(1) "$(2)"; 
     122endef 
     123 
     124 
    62125# FIXME: remove this crap 
    63126define KMOD_template 
  • trunk/package/kernel/Makefile

    r5184 r5189  
    2727endef 
    2828 
    29 define Build/Compile 
     29define Build/Configure 
    3030endef 
    3131 
    32 define KernelPackage/Defaults 
    33   FILES:= 
    34   KCONFIG:=m 
    35   AUTOLOAD:= 
    36 endef 
    37  
    38 define ModuleAutoLoad 
    39         export modules=; \ 
    40         add_module() { \ 
    41                 mkdir -p $(2)/etc/modules.d; \ 
    42                 echo "$$$$$$$$2" > $(2)/etc/modules.d/$$$$$$$$1-$(1); \ 
    43                 modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \ 
    44         }; \ 
    45         $(3) \ 
    46         if [ -n "$$$$$$$$modules" ]; then \ 
    47                 mkdir -p $(2)/etc/modules.d; \ 
    48                 echo "#!/bin/sh" > $(2)/CONTROL/postinst; \ 
    49                 echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst; \ 
    50                 echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \ 
    51                 echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \ 
    52                 chmod 0755 $(2)/CONTROL/postinst; \ 
    53         fi 
    54 endef 
    55   
    56  
    57 define KernelPackage 
    58   NAME:=$(1) 
    59   $(eval $(call KernelPackage/Defaults)) 
    60   $(eval $(call KernelPackage/$(1))) 
    61   $(eval $(call KernelPackage/$(1)/$(KERNEL))) 
    62   $(eval $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL))) 
    63  
    64   define Package/kmod-$(1) 
    65     TITLE:=$(TITLE) 
    66     SECTION:=kernel 
    67     CATEGORY:=Kernel modules 
    68     DEFAULT:=m 
    69     DESCRIPTION:=$(DESCRIPTION) 
    70     EXTRA_DEPENDS:='kernel (=$(PKG_VERSION)-$(PKG_RELEASE))' 
    71     $(call KernelPackage/$(1)) 
    72     $(call KernelPackage/$(1)/$(KERNEL)) 
    73     $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL)) 
    74   endef 
    75  
    76   ifeq ($(findstring m,$(KCONFIG)),m) 
    77     ifneq ($(strip $(FILES)),) 
    78       define Package/kmod-$(1)/install 
    79                 mkdir -p $$(1)/lib/modules/$(LINUX_VERSION) 
    80                 $(CP) $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/ 
    81                 $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD)) 
    82       endef 
    83     endif 
    84   endif 
    85   $$(eval $$(call BuildPackage,kmod-$(1))) 
    86 endef 
    87  
    88 define AutoLoad 
    89   add_module $(1) "$(2)"; 
     32define Build/Compile 
    9033endef 
    9134 
  • trunk/package/madwifi/Makefile

    r5168 r5189  
    2222 
    2323include $(INCLUDE_DIR)/package.mk 
    24  
    25 define Package/kmod-madwifi 
    26   SECTION:=kernel 
    27   CATEGORY:=Kernel drivers 
    28   DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL 
    29   TITLE:=Driver for Atheros wireless chipsets 
    30   DESCRIPTION:=\ 
    31         This package contains a driver for Atheros 802.11a/b/g chipsets. 
    32   URL:=http://madwifi.org/ 
    33   VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) 
    34 endef 
    3524 
    3625RATE_CONTROL:=sample 
     
    6756  BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX) 
    6857endif 
     58 
     59MADWIFI_AUTOLOAD:= \ 
     60        wlan \ 
     61        wlan_scan_ap \ 
     62        wlan_scan_sta \ 
     63        ath_hal \ 
     64        ath_rate_$(RATE_CONTROL) \ 
     65        wlan_acl \ 
     66        wlan_ccmp \ 
     67        wlan_tkip \ 
     68        wlan_wep \ 
     69        wlan_xauth 
     70 
     71ifeq ($(findstring AHB,$(BUS)),AHB) 
     72        MADWIFI_AUTOLOAD += ath_ahb 
     73endif 
     74ifeq ($(findstring PCI,$(BUS)),PCI) 
     75        MADWIFI_AUTOLOAD += ath_pci 
     76endif 
     77 
     78define KernelPackage/madwifi 
     79  SUBMENU:=Network Devices 
     80  DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL 
     81  TITLE:=Driver for Atheros wireless chipsets 
     82  DESCRIPTION:=\ 
     83        This package contains a driver for Atheros 802.11a/b/g chipsets. 
     84  URL:=http://madwifi.org/ 
     85  VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) 
     86  FILES:= \ 
     87                $(PKG_BUILD_DIR)/ath/ath_hal.$(LINUX_KMOD_SUFFIX) \ 
     88                $(BUS_MODULES) \ 
     89                $(PKG_BUILD_DIR)/ath_rate/$(RATE_CONTROL)/ath_rate_$(RATE_CONTROL).$(LINUX_KMOD_SUFFIX) \ 
     90                $(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX) 
     91  AUTOLOAD:=$(call AutoLoad,50,$(MADWIFI_AUTOLOAD)) 
     92endef 
    6993 
    7094MADWIFI_MAKEOPTS= -C $(PKG_BUILD_DIR) \ 
     
    108132endef 
    109133 
    110 define Package/kmod-madwifi/install 
    111         mkdir -p $(1)/etc/modules.d 
     134define KernelPackage/madwifi/install 
    112135        mkdir -p $(1)/etc/init.d 
    113136        mkdir -p $(1)/lib/modules/$(LINUX_VERSION) 
    114137        mkdir -p $(1)/usr/sbin 
    115         install -m0644 ./files/madwifi.modules $(1)/etc/modules.d/20-madwifi 
    116         echo ath_rate_$(RATE_CONTROL) >> $(1)/etc/modules.d/20-madwifi 
    117 ifeq ($(findstring AHB,$(BUS)),AHB) 
    118         echo ath_ahb >> $(1)/etc/modules.d/20-madwifi 
    119 endif 
    120 ifeq ($(findstring PCI,$(BUS)),PCI) 
    121         echo "ath_pci autocreate=none" >> $(1)/etc/modules.d/20-madwifi 
    122 endif 
    123138        install -m0755 ./files/madwifi.init $(1)/etc/init.d/madwifi 
    124         $(CP) \ 
    125                 $(PKG_BUILD_DIR)/ath/ath_hal.$(LINUX_KMOD_SUFFIX) \ 
    126                 $(BUS_MODULES) \ 
    127                 $(PKG_BUILD_DIR)/ath_rate/$(RATE_CONTROL)/ath_rate_$(RATE_CONTROL).$(LINUX_KMOD_SUFFIX) \ 
    128                 $(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX) \ 
    129                 $(1)/lib/modules/$(LINUX_VERSION)/ 
    130139        $(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(1)/usr/sbin/ 
    131140endef 
    132141 
    133 $(eval $(call BuildPackage,kmod-madwifi)) 
     142$(eval $(call KernelPackage,madwifi)) 
  • trunk/package/madwifi/patches/104-autocreate_none.patch

    r5188 r5189  
    77        int error = 0, i; 
    88-       int autocreatemode = IEEE80211_M_STA; 
    9 +       int autocreatemode = IEEE80211_M_HOSTAP; 
     9+       int autocreatemode = -1; 
    1010        u_int8_t csz; 
    1111  
Note: See TracChangeset for help on using the changeset viewer.