Re: [PATCH v2 05/10] dt-bindings: clock: renesas,r8a78000-cpg: Add firmware property
Geert Uytterhoeven <[email protected]>
| Newsgroups | org.kernel.vger.linux-clk,org.infradead.lists.linux-arm-kernel,org.kernel.vger.arm-scmi,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.linux-renesas-soc |
|---|---|
| Message-ID | <CAMuHMdVXgNcxDJf8XsSjXhC5+Pq6+Z+mcn6Hn50u8KwimKt9RA@mail.gmail.com> |
Hi Krzysztof, On Wed, 12 Aug 2026 at 12:38, Krzysztof Kozlowski <[email protected]> wrote: > On 12/08/2026 12:02, Geert Uytterhoeven wrote: > > On Wed, 12 Aug 2026 at 11:51, Krzysztof Kozlowski <[email protected]> wrote: > >> On 12/08/2026 11:47, Geert Uytterhoeven wrote: > >>>>>>>>> + firmware: > >>>>>>>> > >>>>>>>> RPi is doing similar, but I have doubts. It looks way too close to > >>>>>>>> generic "syscon" which is disallowed. > >>>>>>>> > >>>>>>>> I think this should be vendor+purpose specific, e.g.: > >>>>>>>> "renesas,scmi-transport" or "renesas,scmi-firmware" > >>>>>> > >>>>>> If you can tell me the resource that a 'firmware' provider provides then > >>>>>> it is fine, but you can't. > >>>>> > >>>>> It provides a firmware API, which is not available until the firmware > >>>>> provider is initialized. > >>>> > >>>> I don't know what "a firmware API" is. What does it provide? I know what > >>> > >>> It can provide lots of things (everything we are no longer allowed to > >>> touch directly from Linux ;-) > >>> > >>>> a clock, GPIO, reset, interrupt, etc. provider is. > >>> > >>> A clock is an object you can access through the clock API. > >>> (s/clock/.../ for the other cases). > >>> Firmware is a service (virtual object) you can access through a > >>> firmware API. > >>> > >>> In all cases, the consumer of the object or service needs to know > >>> which object or service to use (there can be multiple). > >>> > >>> In all cases you cannot access the object or service until it is > >>> available (initialized and registered), for which we have -EPROBE_DEFER, > >>> and/or "[PATCH v2 02/10] of: property: fw_devlink: Add support for > >>> firmware". > >>> > >>> Thanks for your understanding ;-) > >> > >> I think that's the difference here. Clock is not an object, but a signal > >> on a wire or within IC coming from one device (provider) to another > >> (consumer). Firmware is not a signal, not a wire, not anything which can > >> be provided from one to another. > > > > Oh yes, it is a service provided by the secure world or a different > > CPU core to the application core running Linux. > > Service is still not a resource. Not mentioning it is way too generic, > because anything can be a service. We have entire services-based economies. Do you have a suggestion? This is just a phandle linking a firmware consumer to a(n optional) firmware provider. What do you suggest? Perhaps "scmi-parent" (cfr. "interrupt-parent", which also does not point to the resources consumed, but to the provider of these resources)? Thanks! 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