Re: [PATCH/RFC] soc: renesas: rcar-sysc: Mark device node OF_POPULATED after init

From: Geert Uytterhoeven
Date: Thu Jan 21 2021 - 10:40:49 EST


Hi Saravana,

On Wed, Jan 20, 2021 at 6:09 PM Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
> On Wed, Jan 20, 2021 at 6:23 AM Geert Uytterhoeven
> <geert+renesas@xxxxxxxxx> wrote:
> > The R-Car System Controller (SYSC) driver registers PM domains from an
> > early_initcall(). It does not use a platform driver, as secondary CPU
> > startup on R-Car H1 needs to control the CPU power domains, before
> > initialization of the driver framework.
> >
> > As fw_devlink only considers platform devices,
>
> Correction. It only considers devices. As in, devices on all types of
> busses are supported.

OK.

> > it does not know that the
> > System Controller is ready. Hence probing of on-chip devices that are
> > part of the SYSC PM domain fail:
> >
> > probe deferral - supplier e6180000.system-controller not ready
> >
> > Fix this by setting the OF_POPULATED flag for the SYSC device node after
> > successful initialization. This will make of_link_to_phandle() ignore
> > the SYSC device node as a dependency, and consumer devices will be
> > probed again.
>
> It'd still be nice if you could (maybe in a later patch), at least
> probe all the power domains that aren't really needed this early.
> Using the driver core framework (when it's possible), gives you nice
> things :)

Which nice things are you thinking of? Making the driver modular?
At least on R-Car H1, it needs to be built-in for SMP to work.

> +Rob. I know he hates people using OF_POPULATED, but I think this case
> is reasonable and want to make sure he's aware of this.
>
> Once you fix my commit nitpick, you can add:
> Reviewed-by: Saravana Kannan <saravanak@xxxxxxxxxx>

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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