Re: [PATCH 1/1] of: unittest: rename overlay source files from .dts to .dtso

Geert Uytterhoeven
2022-01-14T09:25:19Z

Hi Rob,

On Fri, Jan 14, 2022 at 3:10 AM Rob Herring <robh@kernel.org> wrote:
> On Thu, Jan 6, 2022 at 11:23 AM Frank Rowand <frowand.list@gmail.com> wrote:
> > Patient Geert has pinged again.
>
> If it's not a patch to be reviewed, then I'm not going to see it most
> likely. I don't read the DT list regularly...

Fair enough...

> > If I remember correctly you guys were not thrilled with this idea, but
> > also did not seem strongly against it. Are you willing to go along
> > with .dtso for overlay source files? If so, I will revive this patch
> > series.
> >
> > David, if you are against supporting .dtso in the dtc compiler then
> > the kernel can still support it through make rules.
>
> I'm not really interested in diverging from dtc. I'd suggest moving
> the discussion to dtc list and/or devicetree-spec if you want to get
> more attention on this.

What needs to be supported in the dtc compiler?
The fallback passed to guess_input_format() is "dts".
So this has been working out-of-the-box since forever?

> Also, keep in mind that extensions also affect MIME types which
> someone was also asking about recently.

You mean "MIME type of Devicetree Blobs and Sources"[1]?
According to [2](2022-01-13), none of that has happened.

[1] https://www.spinics.net/lists/devicetree-spec/msg00938.html
[2] https://www.iana.org/assignments/media-types/media-types.xhtml

> > On 1/6/22 3:00 AM, Geert Uytterhoeven wrote:
> > > On Tue, Aug 24, 2021 at 11:20 AM Geert Uytterhoeven
> > > <geert@linux-m68k.org> wrote:
> > >> On Tue, Jun 22, 2021 at 11:44 AM Geert Uytterhoeven
> > >> <geert@linux-m68k.org> wrote:
> > >>> On Sat, May 29, 2021 at 12:16 PM Geert Uytterhoeven
> > >>> <geert@linux-m68k.org> wrote:
> > >>>> On Sat, May 29, 2021 at 7:16 AM David Gibson
> > >>>> <david@gibson.dropbear.id.au> wrote:
> > >>>>> On Thu, May 27, 2021 at 09:21:05AM +0200, Geert Uytterhoeven wrote:
> > >>>>> 65;6401;1c> On Thu, May 27, 2021 at 3:48 AM David Gibson
> > >>>>>> <david@gibson.dropbear.id.au> wrote:
> > >>>>>>> On Wed, May 26, 2021 at 04:21:48PM -0500, Frank Rowand wrote:
> > >>>>>>>> On 5/26/21 1:11 AM, Viresh Kumar wrote:
> > >>>>>>>>> On 22-04-21, 13:54, Frank Rowand wrote:
> > >>>>>>>>>> On 4/22/21 3:44 AM, Geert Uytterhoeven wrote:
> > >>>>>>>>>>> On Mon, Mar 29, 2021 at 9:23 PM Frank Rowand <frowand.list@gmail.com> wrote:
> > >>>>>>>>>>>> On 3/27/21 12:40 PM, Rob Herring wrote:
> > >>>>>>>>>>>>> On Wed, Mar 24, 2021 at 05:37:13PM -0500, frowand.list@gmail.com wrote:
> > >>>>>>>>>>>>>> From: Frank Rowand <frank.rowand@sony.com>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Add Makefile rule to build .dtbo.o assembly file from overlay .dtso
> > >>>>>>>>>>>>>> source file.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Rename unittest .dts overlay source files to use .dtso suffix.
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> I'm pretty lukewarm on .dtso...
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> I was originally also, but I'm warming up to it.
> > >>>>>>>>>>>
> > >>>>>>>>>>> What's the status of this?
> > >>>>>>>>>>
> > >>>>>>>>>> I was planning to resend on top of the upcoming -rc1.
> > >>>>>>>>>
> > >>>>>>>>> Ping.
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>> Thanks for the prod...
> > >>>>>>>>
> > >>>>>>>> The .dtso convention was added to the dtc compiler, then a patch was
> > >>>>>>>> accepted to revert one mention of .dtso ,though there still remains
> > >>>>>>>> two location where .dtbo is still recognized (guess_type_by_name() in
> > >>>>>>>> dtc and the help text of the fdtoverlay program).
> > >>>>>>>>
> > >>>>>>>> It seems that the general .dtso and .dtbo were not popular, so I'm
> > >>>>>>>> going to drop this patch instead of continuing to try to get it
> > >>>>>>>> accepted.
> > >>>>>>>
> > >>>>>>> AFAICT .dtbo is moderately well established, and I think it's a good
> > >>>>>>> convention, since it matters whether a blob is an overlay or base
> > >>>>>>> tree, and it's not trivial to tell which is which.
> > >>>>>>
> > >>>>>> Indeed.
> > >>>>>>
> > >>>>>>> .dtso is much more recent,
> > >>>>>>
> > >>>>>> Is it?
> > >>>>>
> > >>>>> Well, I wouldn't bet money on it, I just seem to remember encountering
> > >>>>> .dtbo for some time before .dtso was mentioned.
> > >>>>>
> > >>>>>> The oldest reference I could find is from May 2015:
> > >>>>>> "[PATCH/RFC] kbuild: Create a rule for building device tree overlay objects"
> > >>>>>> https://lore.kernel.org/linux-devicetree/1431431816-24612-1-git-send-email-geert+renesas@glider.be/
> > >>>>>
> > >>>>> Hm, I think .dtbo is even older than that, but again, I wouldn't swear
> > >>>>> to it.
> > >>>>
> > >>>> Sure. My work is based on Pantelis' work for BeagleBoard capes.
> > >>>> His code (from 2013?) used .dtbo and .dts:
> > >>>>
> > >>>> overlay/v3.10/merge:firmware/Makefile:$(obj)/%.dtbo: $(obj)/%.dts
> > >>>> | $(objtree)/$(obj)/$$(dir %)
> > >>>>
> > >>>> So I might be the one who introduced .dtso...
> > >>>>
> > >>>>>> I have always used dtbo/dtso in my published overlays branches,
> > >>>>>> referred from https://elinux.org/R-Car/DT-Overlays, and used by
> > >>>>>> various people.
> > >>>>>>
> > >>>>>>> and I think there's much less value to it.
> > >>>>>>
> > >>>>>> IMHO the same reasoning as for dtb vs. dtbo applies to dts vs. dtso.
> > >>>>>> It matters if the resulting blob will be an overlay or base tree,
> > >>>>>> as the blob will have to be called .dtb or .dtbo.
> > >>>>>> As dtc outputs to stdout by default, the caller has to provide the
> > >>>>>> output filename, and thus needs to know.
> > >>>>>> Even if dtc would name the output file based on the presence of
> > >>>>>> "/plugin/" in the input file, the build system still needs to know
> > >>>>>> for dependency tracking.
> > >>>>>
> > >>>>> Hm, fair point. I was thinking of the the /plugin/ tag as the
> > >>>>> distinction, whereas dtb is binary and the distinction isn't even
> > >>>>> marked in the header. But you're right that even readable text labels
> > >>>>> inside the file don't really help make(1). So, I retract that
> > >>>>> assertion.
> > >>>>
> > >>>> Thanks!
> > >>>>
> > >>>>>> We also do have .dts vs. .dtsi.
> > >>>
> > >>> In the mean time, we're at rc7 again?
> > >>
> > >> That was v5.13-rc7. Now we're at v5.14-rc7...
> > >>
> > >> Will we live with the inability to e.g. let make distinguish between
> > >> DT includes and overlays forever?
> > >
> > > I guess this is not gonna happen, so I'll convert all my overlays
> > > from .dtso to .dts....

--
Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds