From: John Crispin Date: Tue, 17 Sep 2013 21:45:05 +0000 (+0000) Subject: include: add AutoProbe support X-Git-Tag: reboot~9277 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=022cadd64e8a24818d15b22bc28f3460e0b2519c;p=oweals%2Fopenwrt.git include: add AutoProbe support This is needed to make modprobe work Signed-off-by: John Crispin SVN-Revision: 38020 --- diff --git a/include/kernel.mk b/include/kernel.mk index 5442c9153f..86100d7859 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -79,6 +79,25 @@ endef define ModuleAutoLoad $(SH_FUNC) \ export modules=; \ + probe_module() { \ + mods="$$$$$$$$1"; \ + boot="$$$$$$$$2"; \ + shift 2; \ + for mod in $$$$$$$$mods; do \ + if [ -e $(2)/$(MODULES_SUBDIR)/$$$$$$$$mod.ko ]; then \ + mkdir -p $(2)/etc/modules.d; \ + echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$(1); \ + fi; \ + done; \ + if [ -e $(2)/etc/modules.d/$(1) ]; then \ + if [ "$$$$$$$$boot" = "1" ]; then \ + mkdir -p $(2)/etc/modules-boot.d; \ + ln -s ../modules.d/$(1) $(2)/etc/modules-boot.d/; \ + fi; \ + modules="$$$$$$$${modules:+$$$$$$$$modules}"; \ + fi; \ + dkl; \ + }; \ add_module() { \ priority="$$$$$$$$1"; \ mods="$$$$$$$$2"; \ @@ -194,6 +213,10 @@ define AutoLoad add_module "$(1)" "$(2)" "$(3)"; endef +define AutoProbe + probe_module "$(1)" "$(2)"; +endef + version_field=$(if $(word $(1),$(2)),$(word $(1),$(2)),0) kernel_version_merge=$$(( ($(call version_field,1,$(1)) << 24) + ($(call version_field,2,$(1)) << 16) + ($(call version_field,3,$(1)) << 8) + $(call version_field,4,$(1)) ))