[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <0f07300a-8b32-4d3e-a447-b3fe3cf1ca81@app.fastmail.com>
Date: Tue, 03 Dec 2024 13:43:03 +0100
From: "Arnd Bergmann" <arnd@...db.de>
To: "Stephen Boyd" <sboyd@...nel.org>, "Jerome Brunet" <jbrunet@...libre.com>
Cc: "Neil Armstrong" <neil.armstrong@...aro.org>,
"Michael Turquette" <mturquette@...libre.com>,
"Kevin Hilman" <khilman@...libre.com>,
"Martin Blumenstingl" <martin.blumenstingl@...glemail.com>,
linux-amlogic@...ts.infradead.org, linux-clk@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
"Mark Brown" <broonie@...nel.org>
Subject: Re: [PATCH] clk: amlogic: axg-audio: select RESET_MESON_AUX
On Tue, Dec 3, 2024, at 03:53, Stephen Boyd wrote:
> Quoting Arnd Bergmann (2024-11-28 07:34:46)
>> On Thu, Nov 28, 2024, at 16:06, Jerome Brunet wrote:
>> Stephen, can you please take a look here and see if you
>> have a better idea for either decoupling the two drivers
>> enough to avoid the link time dependency, or to reintegrate
>> the reset controller code into the clk driver and avoid
>> the complexity?
>
> I think the best approach is to add the reset auxilary device with a
> function that creates the auxiliary device directly by string name and
> does nothing else. Maybe we can have some helper in the auxiliary
> layer that does that all for us, because it's quite a bit of boiler
> plate that we need to write over and over again. Something like:
>
> int devm_auxiliary_device_create(struct device *parent, const char *name)
>
> that does the whole kzalloc() + ida dance that
> devm_meson_rst_aux_register() is doing today and wraps it all up so that
> the device is removed when the parent driver unbinds. Then this clk
> driver can register the reset device with a single call and not need to
> do anything besides select AUXILIARY_BUS. The regmap can be acquired
> from the parent device in the auxiliary driver probe with
> dev_get_regmap(adev->parent).
I like the idea. Two questions about the interface:
- should there be a 'void *platform_data' argument anyway?
Even if this can be looked up from the parent, it seems
useful enough
- What is the scope of the 'ida' number? My impression was
this should be local to one parent device, but I don't
know how the number is used in the end, so maybe a global
number allocator is sufficient.
Arnd
Powered by blists - more mailing lists