瀏覽代碼

linux: simplify adding new extensions

Curently, all three linux extensions follow the same layout:
  - test if the extension is enabled
  - add itself to linux' patch-dependencies
  - declare a macro, added as the pre-patch hook

Except for the macro, all can be commonalised.

Add a simple infrastructure for that:
  - extensions declare themselves in the list of extensions
  - extensions define their macro
  - the infra adds them to the patch-dependencies and pre-patch
    hooks as appropriate

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN 10 年之前
父節點
當前提交
9bd541d3b2
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      linux/linux.mk

+ 7 - 0
linux/linux.mk

@@ -327,6 +327,13 @@ endef
 # included here *must* be in the same directory!
 # included here *must* be in the same directory!
 include $(sort $(wildcard linux/linux-ext-*.mk))
 include $(sort $(wildcard linux/linux-ext-*.mk))
 
 
+LINUX_PATCH_DEPENDENCIES += $(foreach ext,$(LINUX_EXTENSIONS),\
+	$(if $(BR2_LINUX_KERNEL_EXT_$(call UPPERCASE,$(ext))),$(ext)))
+
+LINUX_PRE_PATCH_HOOKS += $(foreach ext,$(LINUX_EXTENSIONS),\
+	$(if $(BR2_LINUX_KERNEL_EXT_$(call UPPERCASE,$(ext))),\
+		$(call UPPERCASE,$(ext))_PREPARE_KERNEL))
+
 $(eval $(kconfig-package))
 $(eval $(kconfig-package))
 
 
 # Support for rebuilding the kernel after the cpio archive has
 # Support for rebuilding the kernel after the cpio archive has