Hi Geert, Thank you for the review. On Wed, Jun 9, 2021 at 8:27 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > > Hi Prabhakar, > > On Fri, Jun 4, 2021 at 8:09 PM Lad Prabhakar > <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> wrote: > > Add support for reading the LSI DEVID register which is present in > > SYSC block of RZ/G2{L,LC} SoC's. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > Reviewed-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > > Thanks for your patch! > > > --- a/drivers/soc/renesas/renesas-soc.c > > +++ b/drivers/soc/renesas/renesas-soc.c > > @@ -56,6 +56,11 @@ static const struct renesas_family fam_rzg2 __initconst __maybe_unused = { > > .reg = 0xfff00044, /* PRR (Product Register) */ > > }; > > > > +static const struct renesas_family fam_rzg2l __initconst __maybe_unused = { > > + .name = "RZ/G2L", > > + .reg = 0x11020a04, > > Please don't add hardcoded register addresses for new SoCs (i.e. drop > ".reg"). The "renesas,r9a07g044-sysc" is always present. > And if it were missing, the hardcoded fallback would lead into the > classic CCCR/PRR scheme, which is not correct for RZ/G2L... > I wanted to avoid iomap for the entire sysc block for just a single register. > > @@ -348,6 +361,25 @@ static int __init renesas_soc_init(void) > > goto done; > > } > > > > + np = of_find_compatible_node(NULL, NULL, "renesas,r9a07g044-sysc"); > > + if (np) { > > + of_node_put(np); > > + chipid = ioremap(family->reg, 4); > > Just use of_iomap(np, 0)... > will do. > > + > > + if (chipid) { > > + product = readl(chipid); > > ... and add the DEVID offset within the SYSC block here. > will do. Cheers, Prabhakar > > + iounmap(chipid); > > + > > + if (soc->id && (product & 0xfffffff) != soc->id) { > > + pr_warn("SoC mismatch (product = 0x%x)\n", > > + product); > > + return -ENODEV; > > + } > > + } > > + > > + goto done; > > + } > > + > > /* Try PRR first, then hardcoded fallback */ > > np = of_find_compatible_node(NULL, NULL, "renesas,prr"); > > if (np) { > > 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