Re: Device tree representation of (hotplug) connectors: discussion at ELCE
Geert Uytterhoeven <[email protected]> Tue, 23 Sep 2025 12:29:27 +0200
| Newsgroups | org.kernel.vger.devicetree-compiler,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAMuHMdWmDwedyPnBERs-tSYEG15nMUuh9u1Q+W_FdquHpUC0-A@mail.gmail.com> |
Hi Hervé, On Tue, 23 Sept 2025 at 11:49, Herve Codina <[email protected]> wrote: > On Tue, 23 Sep 2025 18:09:13 +1000 > David Gibson <[email protected]> wrote: > > Ah, right. To be clear: we absolutely don't want multiple addons > > altering the same nodes. But I think we could do that in ways other > > than putting everything under a connector. This is exactly why I > > think we should think this through as an end-to-end problem, rather > > trying to do it as a tweak to the existing (crap) overlay system. > > > > So, if we're thinking of this as an entirely new way of updating the > > base dt - not "an overlay" - we can decide on the rules to ensure that > > addition and removal is sane. Two obvious ones I think we should > > definitely have are: > > > > a) Addons can only add completely new nodes, never modify existing > > ones. This means that whatever addons are present at runtime, > > every node has a single well defined owner (either base board or > > addon). > > In this rule I suppose that "never modify existing ones" should be understood > as "never modify, add or remove properties in existing ones". Because, of course > adding a full node in a existing one is allowed (rule b). What if the add-on board contains a provider for the base board. E.g. the connector has a clock input, fed by an optional clock generator on the add-on board. Hooking that into the system requires modifying a clocks property in the base board, cfr. [1]. Or is there some other solution? I was also wondering about endpoints, as they have two sides: one on the base board, and one on the add-on board. But it seems that typically both ends are added by the extension, so these fall under rule b. Thanks! [1] https://elixir.bootlin.com/linux/v6.16/source/arch/arm64/boot/dts/renesas/white-hawk-ard-audio-da7212.dtso#L165 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] 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