Re: [PATCH v1] clk: Mark a fwnode as initialized when using CLK_OF_DECLARE* macros

From: Saravana Kannan
Date: Wed Mar 01 2023 - 15:46:12 EST


On Wed, Mar 1, 2023 at 12:40 PM Stephen Boyd <sboyd@xxxxxxxxxx> wrote:
>
> Quoting Saravana Kannan (2023-02-28 17:25:06)
> > The CLK_OF_DECLARE macros sometimes prevent the creation of struct
> > devices for the device node being handled. It does this by
> > setting/clearing OF_POPULATED flag. This can block the probing of some
> > devices because fw_devlink will block the consumers of this node till a
> > struct device is created and probed.
>
> Why can't you use CLK_OF_DECLARE_DRIVER()?

Not sure if you looked at the patch. This is a fix for the macros, not
this specific user of CLK_OF_DECLARE(). Even if Linus fixes his
specific case, this change is still needed for other users of
CLK_OF_DECLARE().

Honestly, a ton of existing CLK_OF_DECLARE() users should really be
switching to CLK_OF_DECLARE_DRIVER() or better yet, implement them as
normal platform drivers when the specific clock control doesn't
provide any early clocks.

-Saravana