linux: allow both in-tree and custom dts files
authorSimon van der Veldt <simon.vanderveldt@gmail.com>
Wed, 21 Feb 2018 19:53:16 +0000 (20:53 +0100)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sun, 25 Feb 2018 16:19:11 +0000 (17:19 +0100)
For some boards, for example the Raspberry Pi, it's necessary to build
in-tree dts files as well as custom/out of tree dts-files (dt-blob.bin).
The existing logic made these two options exclusive, this commit changes
that to allow both in-tree as well as custom sources for dts files.

Signed-off-by: Simon van der Veldt <simon.vanderveldt@gmail.com>
[Arnout: re-wrap help, add extra empty line, change = into +=]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
linux/Config.in
linux/linux.mk

index 1bc817129110e0859e32d05a16643e3a4f06f3c2..80e85b9e8b42b52d0c179d3887c729f222c0fee7 100644 (file)
@@ -363,10 +363,6 @@ config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
 config BR2_LINUX_KERNEL_APPENDED_DTB
        bool
 
-choice
-       prompt "Device tree source"
-       default BR2_LINUX_KERNEL_USE_INTREE_DTS
-
 config BR2_LINUX_KERNEL_USE_INTREE_DTS
        bool "Use a device tree present in the kernel"
        help
@@ -374,14 +370,6 @@ config BR2_LINUX_KERNEL_USE_INTREE_DTS
          the kernel sources. The dts files are located
          in the arch/<arch>/boot/dts folder.
 
-config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
-       bool "Use a custom device tree file"
-       help
-         Use a custom device tree file, i.e, a device
-         tree file that does not belong to the kernel
-         source tree.
-endchoice
-
 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
        string "Device Tree Source file names"
        depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
@@ -390,6 +378,13 @@ config BR2_LINUX_KERNEL_INTREE_DTS_NAME
          the trailing .dts. You can provide a list of
          dts files to build, separated by spaces.
 
+config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
+       bool "Use a custom device tree file"
+       help
+         Use a custom device tree file, i.e, a device
+         tree file that does not belong to the kernel
+         source tree.
+
 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
        string "Device Tree Source file paths"
        depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
index 776304e730c49971eb371ce9e1cbec8f38ef09b2..ab940e730501491853fbc050f363f65e295774c8 100644 (file)
@@ -119,13 +119,15 @@ endif
 LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null`
 
 ifeq ($(BR2_LINUX_KERNEL_USE_INTREE_DTS),y)
-KERNEL_DTS_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
-else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),y)
+KERNEL_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
+endif
+
+ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),y)
 # We keep only the .dts files, so that the user can specify both .dts
 # and .dtsi files in BR2_LINUX_KERNEL_CUSTOM_DTS_PATH. Both will be
 # copied to arch/<arch>/boot/dts, but only the .dts files will
 # actually be generated as .dtb.
-KERNEL_DTS_NAME = $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
+KERNEL_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
 endif
 
 KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME))