Re: [RFC PATCH v2 0/4] Add device tree build information

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alexandred,

Ping.

-Frank


On 2/21/20 11:47 AM, Frank Rowand wrote:
> On 2/21/20 10:14 AM, Alexandre Torgue wrote:
>> (with title it's better ;)
>>
>> Hi,
>>
>> The goal of this series is to add device tree build information in dtb.
>> This information can be dtb build date, where devicetree files come from,
>> who built the dtb ... Actually, same kind of information that you can find
>> in the Linux banner which is printout during kernel boot. Having the same
>> kind of information for device tree is useful for debugging and maintenance.
>>
>> A file (dtb-build.txt) containing a string with build information (e.g.,
>> >From Linux 5.5.0-rc1 by alex the Mon Jan 13 18:25:38 CET 2020) is generated by
>> "gen_dtb_build_info.sh" script. 
>>
>> This file has to be included manually in each dts file that would like to use 
>> this build information.
> 
> In the RFC series, you said:
> 
>   "I gonna prepare a V2 with David proposition (to use overlay format) by
>    keeping in mind not to modify existing dts(i) files."
> 
>    https://lore.kernel.org/linux-devicetree/9d83a36c-78c5-3452-bb48-209d68c46038@xxxxxx/
> 
> But here in v2 instead requires including dtb-build.txt.
> 
> This would require modifying every single main .dts file to get the build info.
> I would prefer the method that Ian and David came up with (sorry, no lore link,
> it did not go to lkml).  Extract from David's email:
> 
>    Date:   Tue, 21 Jan 2020 13:05:25 +1100
>    From:   David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
>    Subject: Re: [RFC PATCH 1/3] dtc: Add dtb build information option
> 
>    > Given that dts files are run through the C preprocessor before being
>    > fed to dtc, the build script could use the '-include' flag to force-
>    > include a fragment containing generated build info without any need to
>    > modify existing dts files.
> 
>    Uh... maybe.  -include will essentially prepend the forced file, which
>    is a bit awkward for our purposes.  It means that the prepended file
>    would need the /dts-v1/ tag, and we couldn't have it in the main files
>    which would be a bit confusing.  I think it would also cause problems
>    with any /memreserve/ tags and means that the main tree could in
>    theory overwrite the build information which we don't necessarily
>    want.
> 
>    I guess we could build things the other way around: have the main .dts
>    file specified with -include and have the dts on the dtc commandline
>    be a fixed one with the build information.  It'd be a little weird,
>    though.
> 
> -Frank
> 
>>
>> of/fdt.c is modified to printout "build-info" property during Kernel boot and 
>> scripts/Makefile.lib is modified to call "gen_dtb_build_info.sh" script.
>>
>> Patch 1 & 2 script and of/fdt.c updates
>> Patch 3 is an example of use in stm32mp157c-dk2.dts file.
>> Patch 4 is a tentative to make it automatic (not yet 100% functional).
>>
>> regards
>> Alex
>>
>> Changes since v1;
>>  - Remove modification in dtc (no more -B option)
>>  - Generate a file containing build info which is directly included in dts
>>    file.
>>
>>
>> Regards
>> Alex
>>
>> Alexandre Torgue (4):
>>   scripts: Add script to generate dtb build information
>>   of: fdt: print dtb build information
>>   ARM: dts: stm32: Add dtb build information entry for stm32mp157c-dk2
>>   script: make automatic dtb build info generation
>>
>>  arch/arm/boot/dts/stm32mp157c-dk2.dts |  1 +
>>  drivers/of/fdt.c                      |  9 +++++++++
>>  scripts/Makefile.lib                  |  3 +++
>>  scripts/gen_dtb_build_info.sh         | 12 ++++++++++++
>>  4 files changed, 25 insertions(+)
>>  create mode 100755 scripts/gen_dtb_build_info.sh
>>
> 
> 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux