On Mon, 23 Jun 2025 at 17:06, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > On Mon, 23 Jun 2025 at 16:21, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > > On Thu, 19 Jun 2025 at 13:40, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > > > rcar_gen4_sysc_pd_init() is an early_initcall, which I guess is the > > > reason for these problems, as the genpd_provider_bus has not been > > > registered that early (it's done at core_initcall) > > > > > > Do you think it would be possible to move rcar_gen4_sysc_pd_init() to > > > a postcore/arch_initcall? > > > > I did some investigation around this and found that both > > drivers/pmdomain/renesas/rcar-gen4-sysc.c and > > drivers/pmdomain/renesas/rcar-sysc.c are registering their genpd > > providers at the early_initcall() level. > > > > I was trying to find (by browsing renesas DTSes and looking into > > drivers) if there is any consumers that actually relies on this, but > > so far the earliest consumer I have found is the > > drivers/irqchip/irq-renesas-irqc.c, but that's at postcore_initcall(). > > Of course, it's difficult to say if my analysis is complete as there > > are a lot of platform variants and I didn't check them all. > > > > Maybe we should just give it a try and move both two drivers above to > > postcore_initcall and see if it works (assuming the irq-renesas-irqc > > supports -EPROBE_DEFER correctly too). > > > > If this doesn't work, I think we need to find a way to allow deferring > > the call to device_add() in of_genpd_provider_add*() for genpd > > provider's devices. > > Commit dcc09fd143bb97c2 ("soc: renesas: rcar-sysc: Add DT support for > SYSC PM domains") explains: > > "Initialization is done from an early_initcall(), to make sure the PM > Domains are initialized before secondary CPU bringup." > > but that matters only for arm32 systems (R-Car Gen1 and Gen2). > Arm64 systems (R-Car Gen3 and Gen4) use PSCI for CPU PM Domain control. [...] > As expected, there is no impact on R-Car H3 ES2.0. > I will test on R-Car V4M tomorrow, but expect no issues. R-Car V4M is fine, too. 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