Skip to contentSkip to conversation

package/linux: drop useless intermediate DTS booleans

RFC PATCH New Yann E. MORIN 4 participants 5 messages Feb 26, 2018 – Mar 30, 2018

lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 package/linux: drop useless intermediate DTS booleans

Just use whatever the user specified in the list. An empty list means no DTS was specified.

No need to add legacy option, as the behaviour does not change.

Cc Simon van der Veldt <[email protected]>
Cc Arnout Vandecappelle <[email protected]>
Cc Peter Korsgaard <[email protected]>
Cc Thomas Petazzoni <[email protected]>

---
This is an RFC patch, totally untested, as an attempt to fix the fallout of allowing both in-tree and out-of-tree DTS files at the same time. It's here just to kickstart a discussion, especially about the help texts... ;-)

---
 linux/Config.in | 28 ++++++----------------------
 linux/linux.mk  |  4 ----
 2 files changed, 6 insertions(+), 26 deletions(-)
linux/Config.in +6 -22
index 80e85b9e8b..15394eb810 100644
@@ -363,35 +363,19 @@ config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
 config BR2_LINUX_KERNEL_APPENDED_DTB
 	bool
 
-config BR2_LINUX_KERNEL_USE_INTREE_DTS
-	bool "Use a device tree present in the kernel"
-	help
-	  Use a device tree source distributed with
-	  the kernel sources. The dts files are located
-	  in the arch/<arch>/boot/dts folder.
-
 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
-	string "Device Tree Source file names"
-	depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
+	string "In-tree Device Tree Source file names"
 	help
-	  Name of the device tree source file, without
+	  Name of in-tree device tree source file, without
 	  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
+	string "Out-of-tree Device Tree Source file paths"
 	help
-	  Path to the device tree source files. You can
-	  provide a list of dts paths to copy and build,
-	  separated by spaces.
+	  Path to to out-of-tree device tree source files.
+	  You can provide a list of dts paths to copy and
+	  build, separated by spaces.
 
 endif
 
linux/linux.mk +0 -4
index ab940e7305..c59050a194 100644
@@ -118,17 +118,13 @@ endif
 # going to be installed in the target filesystem.
 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))
-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)))))
-endif
 
 KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME))
 
Signature · 1 line
2.14.1
#1 lore raw

RFC PATCH 1/1 package/linux: drop useless intermediate DTS booleans

Hello,

Quoted 11 lines · Yann E. MORIN

Just use whatever the user specified in the list. An empty list means no DTS was specified.

No need to add legacy option, as the behaviour does not change.

Cc Simon van der Veldt <[email protected]>
Cc Arnout Vandecappelle <[email protected]>
Cc Peter Korsgaard <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Quoted 5 lines

---
This is an RFC patch, totally untested, as an attempt to fix the fallout of allowing both in-tree and out-of-tree DTS files at the same time. It's here just to kickstart a discussion, especially about the help texts... ;-)

Yes, I agree with this direction. When I saw the patch allowing to generate both in-tree and out of tree DTS, I also thought "but why do we keep those booleans". Next time I should not only "think" but also write it in an e-mail as a reply to the patch :-)

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com
#2 lore raw

RFC PATCH 1/1 package/linux: drop useless intermediate DTS booleans

In reply to Yann E. MORIN

All,

Quoted 100 lines

-----Original Message-----
From: buildroot [mailto:buildroot-bounces at busybox.net] On Behalf Of Yann E. MORIN
Sent: Monday, February 26, 2018 10:47 AM
To: buildroot at buildroot.org
Cc: Yann E. MORIN <[email protected]>; Thomas Petazzoni <[email protected]>; Simon van der Veldt <[email protected]>
Subject: [Buildroot] [PATCH RFC next] package/linux: drop useless intermediate DTS booleans

Just use whatever the user specified in the list. An empty list means no DTS was specified.

No need to add legacy option, as the behaviour does not change.

Cc Simon van der Veldt <[email protected]>
Cc Arnout Vandecappelle <[email protected]>
Cc Peter Korsgaard <[email protected]>
Cc Thomas Petazzoni <[email protected]>

---
This is an RFC patch, totally untested, as an attempt to fix the fallout of allowing both in-tree and out-of-tree DTS files at the same time. It's here just to kickstart a discussion, especially about the help texts... ;-)

---
 linux/Config.in | 28 ++++++----------------------  linux/linux.mk  |  4 ----
 2 files changed, 6 insertions(+), 26 deletions(-)
linux/Config.in index 80e85b9e8b..15394eb810 renamed from linux/Config.in +0 -0

100644

linux/Config.in +6 -22
@@ -363,35 +363,19 @@ config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
 config BR2_LINUX_KERNEL_APPENDED_DTB
 	bool
 
-config BR2_LINUX_KERNEL_USE_INTREE_DTS
-	bool "Use a device tree present in the kernel"
-	help
-	  Use a device tree source distributed with
-	  the kernel sources. The dts files are located
-	  in the arch/<arch>/boot/dts folder.
-
 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
-	string "Device Tree Source file names"
-	depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
+	string "In-tree Device Tree Source file names"
 	help
-	  Name of the device tree source file, without
+	  Name of in-tree device tree source file, without
 	  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
+	string "Out-of-tree Device Tree Source file paths"
 	help
-	  Path to the device tree source files. You can
-	  provide a list of dts paths to copy and build,
-	  separated by spaces.
+	  Path to to out-of-tree device tree source files.
+	  You can provide a list of dts paths to copy and
+	  build, separated by spaces.
 
 endif
 
linux/linux.mk index ab940e7305..c59050a194 renamed from linux/linux.mk +0 -0

100644

linux/linux.mk +0 -0
@@ -118,17 +118,13 @@ endif
 # going to be installed in the target filesystem.
 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))

linux/linux.mk +0 -2
-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)))))
-endif

Quoted 5 lines

KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME))

--
2.14.1

This is a fix for many current broken defconfigs on master resulting in:

linux/linux.mk:490: *** No kernel device tree source specified, check your BR2_LINUX_KERNEL_USE_INTREE_DTS / BR2_LINUX_KERNEL_USE_CUSTOM_DTS settings. Stop. Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2

Josh

#3 lore raw

RFC PATCH 1/1 package/linux: drop useless intermediate DTS booleans

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

<[email protected]> writes:

Hi,

Quoted 9 lines

This is a fix for many current broken defconfigs on master resulting in:

linux/linux.mk:490: *** No kernel device tree source specified,
check your BR2_LINUX_KERNEL_USE_INTREE_DTS / BR2_LINUX_KERNEL_USE_CUSTOM_DTS settings. Stop.
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2

Committed, thanks both.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

RFC PATCH 1/1 package/linux: drop useless intermediate DTS booleans

In reply to Yann E. MORIN
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yann" == Yann E MORIN <[email protected]> writes:

Just use whatever the user specified in the list. An empty list means no DTS was specified.

Quoted 7 lines

No need to add legacy option, as the behaviour does not change.

Cc Simon van der Veldt <[email protected]>
Cc Arnout Vandecappelle <[email protected]>
Cc Peter Korsgaard <[email protected]>
Cc Thomas Petazzoni <[email protected]>

Committed to 2018.02.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard