On Fri, Sep 22, 2023 at 09:18:47AM -0500, Rob Herring wrote: > On Tue, Sep 19, 2023 at 3:02 PM Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > On Tue, Sep 19, 2023 at 11:01:37PM +0300, Andy Shevchenko wrote: > > > On Thu, Aug 24, 2023 at 07:26:54PM +0300, Andy Shevchenko wrote: > > > > Currently the ACPI code doesn't bump the reference count of > > > > the firmware node, while OF counter part does. Not that it's > > > > a problem right now, since ACPI doesn't really use the reference > > > > counting for firmware nodes, it still makes sense to make code > > > > robust against any changes done there. For this, > > > > - switch ACPI case to use device_set_node() to be unified with OF > > > > - move reference counting to amba_device_add() > > > > - switch to use firmware nodes instead of OF ones > > > > > > > > In the result we will have reference counting done in the same module > > > > for all callers independently on the nature of firmware node behind. > > > > > > Any comment on this? I would like to have this applied so I can do something > > > similar to the platform driver code. > > > > Ah, I see, I missed LKP run on this, I'll send a v2 perhaps later on this week. > > What's the relationship/dependency with this and the other patches > dealing with refcounting? Did the AMBA one land? The OF refcounting is spread over platform code in unexpected places. So, we have something like of_foo() bumps it, platform ->release() drops it. It sounds to me as weird design to think of and AMBA is part of this mixture as it uses platform_bus, BUT has it's own ->release(), besides the fact that it's used in OF _and_ ACPI environments. What I would expect to have is both are really agnostic to the fwnode type and take and release reference in one place, but with OF <--> platform is kinda more complicated that with AMBA. -- With Best Regards, Andy Shevchenko