diff mbox

ARM: dts: TI: Enable __symbols__ in dtb files for some platforms

Message ID 1502920751-11121-1-git-send-email-trini@konsulko.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tom Rini Aug. 16, 2017, 9:59 p.m. UTC
Build the dtb file for these platfroms with __symbol__ information
included.  This will reduce the size of the dtb (and resident memory
usage) in exchange for allowing more types of overlays to be applied to
the dtb file prior to passing it to Linux and additional functionality
within the kernel when OF_OVERLAY is enabled.

Cc: Jason Kridner <jkridner@beagleboard.org>
Cc: Drew Fustini <drew@beagleboard.org>
Cc: Robert Nelson <robertcnelson@gmail.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Tom Rini <trini@konsulko.com>
---
This patch takes the path that Rob encouraged in my previous patch of
enabling __symbols__ in some platforms now (that can use it) and see if
a critical mass evolves that pushes towards -@ being default for all
dtbs.  I would suggest that the dra76 series be respun to include a hunk
like this at least as well, and if there's another Beagle X15 patch,
that too.  Russell, per some of our conversations, something like would
also be needed as part of using overlays to solve some of the problems
with Hummingboard, etc.
---
 arch/arm/boot/dts/Makefile | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Frank Rowand Aug. 16, 2017, 10:33 p.m. UTC | #1
On 08/16/17 14:59, Tom Rini wrote:
> Build the dtb file for these platfroms with __symbol__ information
> included.  This will reduce the size of the dtb (and resident memory

typo: reduce the size should be increase the size


> usage) in exchange for allowing more types of overlays to be applied to
> the dtb file prior to passing it to Linux and additional functionality
> within the kernel when OF_OVERLAY is enabled.
> 
> Cc: Jason Kridner <jkridner@beagleboard.org>
> Cc: Drew Fustini <drew@beagleboard.org>
> Cc: Robert Nelson <robertcnelson@gmail.com>
> Cc: Lokesh Vutla <lokeshvutla@ti.com>
> Cc: Frank Rowand <frowand.list@gmail.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
> This patch takes the path that Rob encouraged in my previous patch of
> enabling __symbols__ in some platforms now (that can use it) and see if
> a critical mass evolves that pushes towards -@ being default for all
> dtbs.  I would suggest that the dra76 series be respun to include a hunk
> like this at least as well, and if there's another Beagle X15 patch,
> that too.  Russell, per some of our conversations, something like would
> also be needed as part of using overlays to solve some of the problems
> with Hummingboard, etc.
> ---
>  arch/arm/boot/dts/Makefile | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 4b17f35dc9a7..6f98422ca00e 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1063,3 +1063,17 @@ dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dts
>  
>  always		:= $(dtb-y)
>  clean-files	:= *.dtb
> +
> +# enable creation of __symbols__ node
> +DTC_FLAGS_am335x-bone += -@
> +DTC_FLAGS_am335x-boneblack += -@
> +DTC_FLAGS_am335x-boneblack-wireless += -@
> +DTC_FLAGS_am335x-boneblue += -@
> +DTC_FLAGS_am335x-bonegreen += -@
> +DTC_FLAGS_am335x-bonegreen-wireless += -@
> +DTC_FLAGS_am57xx-beagle-x15 += -@
> +DTC_FLAGS_am57xx-beagle-x15-revb1 += -@
> +DTC_FLAGS_dra7-evm += -@
> +DTC_FLAGS_dra72-evm += -@
> +DTC_FLAGS_dra72-evm-revc += -@
> +DTC_FLAGS_dra71-evm += -@
> 

I would prefer that instead of "-@", a configurable value be used.

The current form of the patch imposes the extra overhead even
for those who do not want to use any overlay.

Using a kernel CONFIG_ value for the "configurable value" is not
desired because it adds a kernel configuration dependency to what
is contained in a dtb.  I do not know if we can find another
better way to make this configurable.  AMaybe Rob's suggestion
of a shell variable used in the make command.
Frank Rowand Aug. 16, 2017, 10:57 p.m. UTC | #2
On 08/16/17 15:33, Frank Rowand wrote:
> On 08/16/17 14:59, Tom Rini wrote:
>> Build the dtb file for these platfroms with __symbol__ information
>> included.  This will reduce the size of the dtb (and resident memory
> 
> typo: reduce the size should be increase the size
> 
> 
>> usage) in exchange for allowing more types of overlays to be applied to
>> the dtb file prior to passing it to Linux and additional functionality
>> within the kernel when OF_OVERLAY is enabled.
>>
>> Cc: Jason Kridner <jkridner@beagleboard.org>
>> Cc: Drew Fustini <drew@beagleboard.org>
>> Cc: Robert Nelson <robertcnelson@gmail.com>
>> Cc: Lokesh Vutla <lokeshvutla@ti.com>
>> Cc: Frank Rowand <frowand.list@gmail.com>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: Russell King <linux@armlinux.org.uk>
>> Cc: devicetree@vger.kernel.org
>> Cc: linux-arm-kernel@lists.infradead.org
>> Cc: linux-kernel@vger.kernel.org
>> Signed-off-by: Tom Rini <trini@konsulko.com>
>> ---
>> This patch takes the path that Rob encouraged in my previous patch of
>> enabling __symbols__ in some platforms now (that can use it) and see if
>> a critical mass evolves that pushes towards -@ being default for all
>> dtbs.  I would suggest that the dra76 series be respun to include a hunk
>> like this at least as well, and if there's another Beagle X15 patch,
>> that too.  Russell, per some of our conversations, something like would
>> also be needed as part of using overlays to solve some of the problems
>> with Hummingboard, etc.
>> ---
>>  arch/arm/boot/dts/Makefile | 14 ++++++++++++++
>>  1 file changed, 14 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 4b17f35dc9a7..6f98422ca00e 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -1063,3 +1063,17 @@ dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dts
>>  
>>  always		:= $(dtb-y)
>>  clean-files	:= *.dtb
>> +
>> +# enable creation of __symbols__ node
>> +DTC_FLAGS_am335x-bone += -@
>> +DTC_FLAGS_am335x-boneblack += -@
>> +DTC_FLAGS_am335x-boneblack-wireless += -@
>> +DTC_FLAGS_am335x-boneblue += -@
>> +DTC_FLAGS_am335x-bonegreen += -@
>> +DTC_FLAGS_am335x-bonegreen-wireless += -@
>> +DTC_FLAGS_am57xx-beagle-x15 += -@
>> +DTC_FLAGS_am57xx-beagle-x15-revb1 += -@
>> +DTC_FLAGS_dra7-evm += -@
>> +DTC_FLAGS_dra72-evm += -@
>> +DTC_FLAGS_dra72-evm-revc += -@
>> +DTC_FLAGS_dra71-evm += -@
>>
> 
> I would prefer that instead of "-@", a configurable value be used.

I stated that poorly.  It was intended conceptually, not literally.

One possible concrete implementation would be to use something other
than DTC_FLAGS, for example DTC_FLAGS_EXTRA, then have the build
system choose whether to fold DTC_FLAGS_EXTRA into DTC_FLAGS, based
on some sort of configurable value.


> The current form of the patch imposes the extra overhead even
> for those who do not want to use any overlay.
> 
> Using a kernel CONFIG_ value for the "configurable value" is not
> desired because it adds a kernel configuration dependency to what
> is contained in a dtb.  I do not know if we can find another
> better way to make this configurable.  AMaybe Rob's suggestion
> of a shell variable used in the make command.
>
Tom Rini Aug. 17, 2017, 12:33 a.m. UTC | #3
On Wed, Aug 16, 2017 at 03:57:21PM -0700, Frank Rowand wrote:
> On 08/16/17 15:33, Frank Rowand wrote:
> > On 08/16/17 14:59, Tom Rini wrote:
> >> Build the dtb file for these platfroms with __symbol__ information
> >> included.  This will reduce the size of the dtb (and resident memory
> > 
> > typo: reduce the size should be increase the size
> > 
> > 
> >> usage) in exchange for allowing more types of overlays to be applied to
> >> the dtb file prior to passing it to Linux and additional functionality
> >> within the kernel when OF_OVERLAY is enabled.
> >>
> >> Cc: Jason Kridner <jkridner@beagleboard.org>
> >> Cc: Drew Fustini <drew@beagleboard.org>
> >> Cc: Robert Nelson <robertcnelson@gmail.com>
> >> Cc: Lokesh Vutla <lokeshvutla@ti.com>
> >> Cc: Frank Rowand <frowand.list@gmail.com>
> >> Cc: Rob Herring <robh+dt@kernel.org>
> >> Cc: Mark Rutland <mark.rutland@arm.com>
> >> Cc: Russell King <linux@armlinux.org.uk>
> >> Cc: devicetree@vger.kernel.org
> >> Cc: linux-arm-kernel@lists.infradead.org
> >> Cc: linux-kernel@vger.kernel.org
> >> Signed-off-by: Tom Rini <trini@konsulko.com>
> >> ---
> >> This patch takes the path that Rob encouraged in my previous patch of
> >> enabling __symbols__ in some platforms now (that can use it) and see if
> >> a critical mass evolves that pushes towards -@ being default for all
> >> dtbs.  I would suggest that the dra76 series be respun to include a hunk
> >> like this at least as well, and if there's another Beagle X15 patch,
> >> that too.  Russell, per some of our conversations, something like would
> >> also be needed as part of using overlays to solve some of the problems
> >> with Hummingboard, etc.
> >> ---
> >>  arch/arm/boot/dts/Makefile | 14 ++++++++++++++
> >>  1 file changed, 14 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> >> index 4b17f35dc9a7..6f98422ca00e 100644
> >> --- a/arch/arm/boot/dts/Makefile
> >> +++ b/arch/arm/boot/dts/Makefile
> >> @@ -1063,3 +1063,17 @@ dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dts
> >>  
> >>  always		:= $(dtb-y)
> >>  clean-files	:= *.dtb
> >> +
> >> +# enable creation of __symbols__ node
> >> +DTC_FLAGS_am335x-bone += -@
> >> +DTC_FLAGS_am335x-boneblack += -@
> >> +DTC_FLAGS_am335x-boneblack-wireless += -@
> >> +DTC_FLAGS_am335x-boneblue += -@
> >> +DTC_FLAGS_am335x-bonegreen += -@
> >> +DTC_FLAGS_am335x-bonegreen-wireless += -@
> >> +DTC_FLAGS_am57xx-beagle-x15 += -@
> >> +DTC_FLAGS_am57xx-beagle-x15-revb1 += -@
> >> +DTC_FLAGS_dra7-evm += -@
> >> +DTC_FLAGS_dra72-evm += -@
> >> +DTC_FLAGS_dra72-evm-revc += -@
> >> +DTC_FLAGS_dra71-evm += -@
> >>
> > 
> > I would prefer that instead of "-@", a configurable value be used.
> 
> I stated that poorly.  It was intended conceptually, not literally.
> 
> One possible concrete implementation would be to use something other
> than DTC_FLAGS, for example DTC_FLAGS_EXTRA, then have the build
> system choose whether to fold DTC_FLAGS_EXTRA into DTC_FLAGS, based
> on some sort of configurable value.

So you would have to pass in a flag, and then set a CONFIG option for
"please use this flag I just explicitly set" ?
Frank Rowand Aug. 17, 2017, 6:15 a.m. UTC | #4
On 08/16/17 17:33, Tom Rini wrote:
> On Wed, Aug 16, 2017 at 03:57:21PM -0700, Frank Rowand wrote:
>> On 08/16/17 15:33, Frank Rowand wrote:
>>> On 08/16/17 14:59, Tom Rini wrote:
>>>> Build the dtb file for these platfroms with __symbol__ information
>>>> included.  This will reduce the size of the dtb (and resident memory
>>>
>>> typo: reduce the size should be increase the size
>>>
>>>
>>>> usage) in exchange for allowing more types of overlays to be applied to
>>>> the dtb file prior to passing it to Linux and additional functionality
>>>> within the kernel when OF_OVERLAY is enabled.
>>>>
>>>> Cc: Jason Kridner <jkridner@beagleboard.org>
>>>> Cc: Drew Fustini <drew@beagleboard.org>
>>>> Cc: Robert Nelson <robertcnelson@gmail.com>
>>>> Cc: Lokesh Vutla <lokeshvutla@ti.com>
>>>> Cc: Frank Rowand <frowand.list@gmail.com>
>>>> Cc: Rob Herring <robh+dt@kernel.org>
>>>> Cc: Mark Rutland <mark.rutland@arm.com>
>>>> Cc: Russell King <linux@armlinux.org.uk>
>>>> Cc: devicetree@vger.kernel.org
>>>> Cc: linux-arm-kernel@lists.infradead.org
>>>> Cc: linux-kernel@vger.kernel.org
>>>> Signed-off-by: Tom Rini <trini@konsulko.com>
>>>> ---
>>>> This patch takes the path that Rob encouraged in my previous patch of
>>>> enabling __symbols__ in some platforms now (that can use it) and see if
>>>> a critical mass evolves that pushes towards -@ being default for all
>>>> dtbs.  I would suggest that the dra76 series be respun to include a hunk
>>>> like this at least as well, and if there's another Beagle X15 patch,
>>>> that too.  Russell, per some of our conversations, something like would
>>>> also be needed as part of using overlays to solve some of the problems
>>>> with Hummingboard, etc.
>>>> ---
>>>>  arch/arm/boot/dts/Makefile | 14 ++++++++++++++
>>>>  1 file changed, 14 insertions(+)
>>>>
>>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>>> index 4b17f35dc9a7..6f98422ca00e 100644
>>>> --- a/arch/arm/boot/dts/Makefile
>>>> +++ b/arch/arm/boot/dts/Makefile
>>>> @@ -1063,3 +1063,17 @@ dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dts
>>>>  
>>>>  always		:= $(dtb-y)
>>>>  clean-files	:= *.dtb
>>>> +
>>>> +# enable creation of __symbols__ node
>>>> +DTC_FLAGS_am335x-bone += -@
>>>> +DTC_FLAGS_am335x-boneblack += -@
>>>> +DTC_FLAGS_am335x-boneblack-wireless += -@
>>>> +DTC_FLAGS_am335x-boneblue += -@
>>>> +DTC_FLAGS_am335x-bonegreen += -@
>>>> +DTC_FLAGS_am335x-bonegreen-wireless += -@
>>>> +DTC_FLAGS_am57xx-beagle-x15 += -@
>>>> +DTC_FLAGS_am57xx-beagle-x15-revb1 += -@
>>>> +DTC_FLAGS_dra7-evm += -@
>>>> +DTC_FLAGS_dra72-evm += -@
>>>> +DTC_FLAGS_dra72-evm-revc += -@
>>>> +DTC_FLAGS_dra71-evm += -@
>>>>
>>>
>>> I would prefer that instead of "-@", a configurable value be used.
>>
>> I stated that poorly.  It was intended conceptually, not literally.
>>
>> One possible concrete implementation would be to use something other
>> than DTC_FLAGS, for example DTC_FLAGS_EXTRA, then have the build
>> system choose whether to fold DTC_FLAGS_EXTRA into DTC_FLAGS, based
>> on some sort of configurable value.
> 
> So you would have to pass in a flag, and then set a CONFIG option for
> "please use this flag I just explicitly set" ?

I'm aware there is some ugliness there, and still open to someone having
a better idea that we have not yet considered.

But yes, the desired functionality over rides the ugliness.  Forcing the
overhead for all users of the board, even those who will never use an
overlay is not a good choice.  The ability to opt out is important.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4b17f35dc9a7..6f98422ca00e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1063,3 +1063,17 @@  dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dts
 
 always		:= $(dtb-y)
 clean-files	:= *.dtb
+
+# enable creation of __symbols__ node
+DTC_FLAGS_am335x-bone += -@
+DTC_FLAGS_am335x-boneblack += -@
+DTC_FLAGS_am335x-boneblack-wireless += -@
+DTC_FLAGS_am335x-boneblue += -@
+DTC_FLAGS_am335x-bonegreen += -@
+DTC_FLAGS_am335x-bonegreen-wireless += -@
+DTC_FLAGS_am57xx-beagle-x15 += -@
+DTC_FLAGS_am57xx-beagle-x15-revb1 += -@
+DTC_FLAGS_dra7-evm += -@
+DTC_FLAGS_dra72-evm += -@
+DTC_FLAGS_dra72-evm-revc += -@
+DTC_FLAGS_dra71-evm += -@