kernel: move kernel version files to linux/generic directory
authorChristian Marangi <ansuelsmth@gmail.com>
Sat, 19 Apr 2025 12:54:23 +0000 (14:54 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Tue, 22 Apr 2025 17:22:44 +0000 (19:22 +0200)
To further improve cleanup and maintenance usage, move the kernel
version files to target/linux/generic directory. This permits to self
contain any change to the specific generic directory instead of having
to bload the include directory of periodic changes.

In kernel-version.mk we now use GENERIC_PLATFORM_DIR provided by
target.mk. To make this work, we need to move the inclusion of
kernel-version.mk in target.mk right after GENERIC_PLATFORM_DIR is
defined.

This also comes to permit downstream project to provide a custom generic
directory and specify the kernel version complete of the hash and the
minor version without having to affect other feeds.

In such case both generic and the target directory are provided as feeds
and OpenWrt reference these specific one instead of the generic one.

For downstream it's still suggested and preferable to all match the
shipped generic kernel minor version but this change permits to at least
enforce good practice instead of having to bloat OpenWrt include file of
all kind of downstream changes (making porting to OpenWrt mainline even
more difficult)

Link: https://github.com/openwrt/openwrt/pull/18537
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
include/kernel-6.6 [deleted file]
include/kernel-version.mk
include/target.mk
target/linux/generic/kernel-6.6 [new file with mode: 0644]

diff --git a/include/kernel-6.6 b/include/kernel-6.6
deleted file mode 100644 (file)
index e3de08d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-LINUX_VERSION-6.6 = .87
-LINUX_KERNEL_HASH-6.6.87 = 8957e5c2dacdbc47a16dbf1f6303ca7088409be6197a3881f752313275357ac6
index 958ed9be0c0b80d82e4dab4aa95f83fd08a0ee87..5e2bff4542146fa454ac6fca0eaaf91e5b0c4352 100644 (file)
@@ -6,7 +6,7 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-KERNEL_DETAILS_FILE=$(INCLUDE_DIR)/kernel-$(KERNEL_PATCHVER)
+KERNEL_DETAILS_FILE=$(GENERIC_PLATFORM_DIR)/kernel-$(KERNEL_PATCHVER)
 ifeq ($(wildcard $(KERNEL_DETAILS_FILE)),)
   $(error Missing kernel version/hash file for $(KERNEL_PATCHVER). Please create $(KERNEL_DETAILS_FILE))
 endif
@@ -14,7 +14,7 @@ endif
 include $(KERNEL_DETAILS_FILE)
 
 ifdef KERNEL_TESTING_PATCHVER
-  KERNEL_TESTING_DETAILS_FILE=$(INCLUDE_DIR)/kernel-$(KERNEL_TESTING_PATCHVER)
+  KERNEL_TESTING_DETAILS_FILE=$(GENERIC_PLATFORM_DIR)/kernel-$(KERNEL_TESTING_PATCHVER)
   ifeq ($(wildcard $(KERNEL_TESTING_DETAILS_FILE)),)
     $(error Missing kernel version/hash file for $(KERNEL_TESTING_PATCHVER). Please create $(KERNEL_TESTING_DETAILS_FILE))
   endif
index da7ef5e8a280326a163f58823865e69e96ff59b8..f0c8dad15eed979f88d70950a9957a4283c11b5a 100644 (file)
@@ -155,16 +155,16 @@ ifeq ($(TARGET_BUILD),1)
   endif
 endif
 
-ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),)
-  include $(INCLUDE_DIR)/kernel-version.mk
-endif
-
 GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic
 GENERIC_BACKPORT_DIR := $(GENERIC_PLATFORM_DIR)/backport$(if $(wildcard $(GENERIC_PLATFORM_DIR)/backport-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
 GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/pending$(if $(wildcard $(GENERIC_PLATFORM_DIR)/pending-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
 GENERIC_HACK_DIR := $(GENERIC_PLATFORM_DIR)/hack$(if $(wildcard $(GENERIC_PLATFORM_DIR)/hack-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
 GENERIC_FILES_DIR := $(foreach dir,$(wildcard $(GENERIC_PLATFORM_DIR)/files $(GENERIC_PLATFORM_DIR)/files-$(KERNEL_PATCHVER)),"$(dir)")
 
+ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),)
+  include $(INCLUDE_DIR)/kernel-version.mk
+endif
+
 __config_name_list = $(1)/config-$(KERNEL_PATCHVER) $(1)/config-default
 __config_list = $(firstword $(wildcard $(call __config_name_list,$(1))))
 find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list)))
diff --git a/target/linux/generic/kernel-6.6 b/target/linux/generic/kernel-6.6
new file mode 100644 (file)
index 0000000..e3de08d
--- /dev/null
@@ -0,0 +1,2 @@
+LINUX_VERSION-6.6 = .87
+LINUX_KERNEL_HASH-6.6.87 = 8957e5c2dacdbc47a16dbf1f6303ca7088409be6197a3881f752313275357ac6