Hi Geert, On Monday, September 24, 2018, Geert Uytterhoeven wrote: > Thanks for your patch! Thanks for your review! > > +struct cpg_mssr_priv *early_priv; > > static > > Just call the pointer cpg_mssr_priv, as you're gonna need it in both > cases > (see below)? Seems strange to have a variable with the same name of the struct type that it is....but I changed as you suggested. I also made all the other changes you suggested for both patches and retested. > > + if (early_priv) { > > + priv = early_priv; > > + priv->dev = &pdev->dev; > > + } else { > > + error = cpg_mssr_common_init(dev, dev->of_node, info); > > Oops, priv is not set => BOOM. > I guess you have no other hardware using the renesas-cpg-mssr driver? > You can probably still test this case on RZ/A2 without patch 2 (or with > the > OF_CLK_DECLARE_DRIVER() line commented out), and with the OSTM timer > hack > you posted before. Well...I have a RZ/G1 board in a box somewhere... But instead, like you suggested, I applied the OSTM subsys_initcall hack back in and changed r7s9210-cpg-mssr.c to be non-early like the other R-Car SoCs. And now, no crash. So I think I'm good this time. Thanks! Chris