[Ksummit-discuss] Devicetree Workshop at Kernel Summit Prague (26 Oct 2017)

Rob Herring robh at kernel.org
Wed Oct 18 18:00:02 UTC 2017


On Wed, Oct 18, 2017 at 12:41 PM, Bird, Timothy <Tim.Bird at sony.com> wrote:
>
>
>> -----Original Message-----
>> From Geert Uytterhoeven on Wednesday, October 18, 2017 6:22 AM
>> On Wed, Oct 18, 2017 at 3:18 PM, Alexandre Belloni
>> <alexandre.belloni at free-electrons.com> wrote:
>> > On 18/10/2017 at 15:59:00 +0300, Pantelis Antoniou wrote:
>> >> > On Oct 18, 2017, at 15:14 , Grant Likely <grant.likely at secretlab.ca>
>> wrote:
>> >> > On Tue, Oct 17, 2017 at 8:03 PM, Bird, Timothy <Tim.Bird at sony.com>
>> wrote:
>> >> >>> -----Original Message-----
>> >> >>> From Geert Uytterhoeven on Tuesday, October 17, 2017 10:24 AM
>> >> >>> On Tue, Oct 17, 2017 at 7:02 PM, Kumar Gala
>> <kumar.gala at linaro.org> wrote:
>> >> >>>> I think this also gets to having bindings described in a structured way
>> so
>> >> >>> they can be utilized for validation of dts files.  We are doing a little of
>> this in
>> >> >>> Zephyr since we are using a structured binding spec to generate code
>> from
>> >> >>> .dts (since we don’t utilize a runtime dtb).
>> >> >>>
>> >> >>> So you are basically generating board files from .dts?
>> >> >>> (closing the loop ;-)
>> >> >>
>> >> >> I think we ought to do this on Linux, as a size optimization.
>> >> >> -- Tim
>> >> >>
>> >> >> P.S.  I think I'll leave it ambiguous whether this was meant as a joke or
>> not. :-)
>> >>
>> >> As crazy that sounds it is possible using the YAML bindings, i.e. C structure
>> definitions
>> >> and fill-up from DT automatically. Whether this is a good idea it’s another
>> question :)
>> >
>> > But that doesn't work with any driver parsing custom properties (using
>> > of_property_read_* and the likes). I would very much like to see what
>> > are the boot time improvements when doing that ;)
>>
>> Unless you override of_property_read_*() to work on the dense C
>> structures instead?
>
> Or turn the property reads into macros that then turn into constant declarations inline in the code.
> No need stop at dense C structures.  Of course you lose all configuration flexibility at runtime.
> But then that's the kind of trade-off one often makes with embedded software, isn't it?

That's basically what Grant proposed[1]. Turn all the property strings
to numeric IDs that can directly reference the original FDT data
avoiding storing the property structs.

If you don't care about code size then removing runtime configuration
within the OF API (i.e. not reworking driver probe functions) is not
going to save much. And these days with XIP SPI flash chips, code size
is not so much the issue. Maybe you saw Nico's presentation at
Connect, but if not it is here[2].

Rob

[1] https://www.spinics.net/lists/devicetree/msg197417.html
[2] http://connect.linaro.org/resource/las16/las16-407/


More information about the Ksummit-discuss mailing list