diff --git a/include/kernel.mk b/include/kernel.mk index 6caf59389d..e3ad69787b 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -88,7 +88,7 @@ define ModuleAutoLoad mods="$$$$$$$$1"; \ boot="$$$$$$$$2"; \ shift 2; \ - for mod in $$$$$$$$($(SCRIPT_DIR)/metadata.pl version_filter $(KERNEL_PATCHVER) $$$$$$$$mods); do \ + for mod in $$$$$$$$mods; do \ mkdir -p $(2)/etc/modules.d; \ echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$(1); \ done; \ @@ -105,7 +105,7 @@ define ModuleAutoLoad mods="$$$$$$$$2"; \ boot="$$$$$$$$3"; \ shift 3; \ - for mod in $$$$$$$$($(SCRIPT_DIR)/metadata.pl version_filter $(KERNEL_PATCHVER) $$$$$$$$mods); do \ + for mod in $$$$$$$$mods; do \ mkdir -p $(2)/etc/modules.d; \ echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$$$$$$$$priority-$(1); \ done; \ @@ -174,7 +174,7 @@ $(call KernelPackage/$(1)/config) ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m y,$(foreach c,$(filter-out %=y %=n %=m,$(KCONFIG)),$($(c)))),.),) ifneq ($(if $(SDK),$(filter-out $(LINUX_DIR)/%.ko,$(FILES)),$(strip $(FILES))),) define Package/kmod-$(1)/install - @for mod in $$$$$$$$($(SCRIPT_DIR)/metadata.pl version_filter $(KERNEL_PATCHVER) $$(FILES)); do \ + @for mod in $$(call version_filter,$$(FILES)); do \ if [ -e $$$$$$$$mod ]; then \ mkdir -p $$(1)/$(MODULES_SUBDIR) ; \ $(CP) -L $$$$$$$$mod $$(1)/$(MODULES_SUBDIR)/ ; \ @@ -209,12 +209,14 @@ $(call KernelPackage/$(1)/config) $$(IPKG_kmod-$(1)): $$(wildcard $$(FILES)) endef +version_filter=$(if $(findstring @,$(1)),$(shell $(SCRIPT_DIR)/metadata.pl version_filter $(KERNEL_PATCHVER) $(1)),$(1)) + define AutoLoad - add_module "$(1)" "$(2)" "$(3)"; + add_module "$(1)" "$(call version_filter,$(2))" "$(3)"; endef define AutoProbe - probe_module "$(1)" "$(2)"; + probe_module "$(call version_filter,$(1))" "$(2)"; endef version_field=$(if $(word $(1),$(2)),$(word $(1),$(2)),0)