Re: [RFC PATCH] watchdog: rzv2h_wdt: Add support to retrieve the bootstatus information
From: Lad, Prabhakar
Date: Mon Dec 16 2024 - 08:15:00 EST
Hi Biju,
On Sun, Dec 15, 2024 at 9:15 AM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
>
> Hi Prabhakar,
>
> > -----Original Message-----
> > From: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
> > Sent: 14 December 2024 21:36
> > Subject: Re: [RFC PATCH] watchdog: rzv2h_wdt: Add support to retrieve the bootstatus information
> >
> > Hi Biju,
> >
> > On Sat, Dec 14, 2024 at 11:32 AM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
> > >
> > > Hi Lad, Prabhakar,
> > >
> > <snip>
> > > > > That is a change in behavior. Up to now the syscon phandle did not
> > > > > have to exist for the driver to work. Is it guaranteed to not
> > > > > result in regressions on systems where it doesn't ? Also, is this
> > > > > documented ? I don't seem to be able to
> > > > find it.
> > > > >
> > > > Agreed. I will add a fallback mechanism to handle cases where the
> > > > syscon property is not present in the WDT node. This will ensure no
> > > > regressions occur, and the bootstatus will simply be set to 0 in
> > > > such scenarios. As mentioned in the patch comments, I have not yet
> > > > submitted the DT binding changes because I wanted feedback on the syscon approach. The new RZ SoCs
> > have registers scattered across various locations, and I was exploring if there might be a better way
> > to handle this.
> > >
> > > See, syscon compatible not needed with [1]
> > >
> > > [1]
> > > https://lore.kernel.org/all/20241211-syscon-fixes-v1-3-b5ac8c219e96@ke
> > > rnel.org/
> > >
> > As per my understanding, `syscon` compatible is required in this case because the CPG driver does not
> > register a regmap. With the patch [1] (linked above), this applies to drivers that register a syscon
> > regmap, where the corresponding DT node does not necessarily need a `syscon` compatible.
>
> I guess you can use "syscon_node_to_regmap" for that as of_syscon_register_regmap() is for externally
> created regmaps??
>
No, it doesn't work either; the CPG node block needs to have `syscon`
compatible when you are using
syscon_node_to_regmap/syscon_regmap_lookup_by_phandle. See patch [0]
in `device_node_get_regmap()` the `of_syscon_register()` is only
called when it has a `syscon` compatible or else `-EINVAL` is
returned.
[0] https://lore.kernel.org/all/20241211-syscon-fixes-v1-3-b5ac8c219e96@xxxxxxxxxx/
Cheers,
Prabhakar