[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DB9PR10MB46521F419F43685F7103D32480679@DB9PR10MB4652.EURPRD10.PROD.OUTLOOK.COM>
Date: Tue, 30 Nov 2021 17:46:23 +0000
From: Adam Thomson <Adam.Thomson.Opensource@...semi.com>
To: Guenter Roeck <linux@...ck-us.net>,
Adam Thomson <Adam.Thomson.Opensource@...semi.com>,
Andrej Picej <andrej.picej@...ik.com>
CC: Support Opensource <Support.Opensource@...semi.com>,
"wim@...ux-watchdog.org" <wim@...ux-watchdog.org>,
"linux-watchdog@...r.kernel.org" <linux-watchdog@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"festevam@...il.com" <festevam@...il.com>,
"linux-imx@....com" <linux-imx@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: RE: [PATCH v2 3/4] dt-bindings: watchdog: da9062: add watchdog
timeout mode
On 30 November 2021 16:40, Guenter Roeck wrote:
> >> Why does it need a value ? Why not just bool ?
> >
> > One argument might be that if the property isn't provided then the OTP
> > configured value can persist without needing a FW change around this DT
> binding.
> >
> > My belief though is that the majority of users would have this property set to 0
> > by default in OTP, so a boolean would be OK I think here to enable watchdog
> > shutdown.
> >
>
> Sorry, you lost me.
> dlg,wdt-sd = <0>;
> is the current situation, and identical to not having the property in
> the first place.
> dlg,wdt-sd = <1>;
> is new. I don't see the difference to
> dlg,wdt-sd;
> vs. not having the property at all (which is, again, the current situation).
> Since it has to be backward compatible,
> dlg,wdt-sd = <0>;
> will always be identical to not having the property at all.
> I can not find a situation where an integer would have any benefits over a
> boolean.
So if you have a binary DT binding, it's either there or it isn't which implies
the bit to be set to 0/1 in this case. If you have a binding which has a value,
there can be 3 outcomes in this discussion:
1) Binding = 0, bit is set to 0
2) Binding = 1, bit is set to 1
3) Binding NOT present in DT, OTP default value in HW remains untouched
Say a platform updates to a later kernel version, but sticks with existing DT
FW (i.e. the new boolean binding isn't present in FW), then the following could
happen:
1) OTP for DA9061/2 has this bit set to 1, system expectation is that watchdog
triggers SHUTDOWN.
2) New driver checks existance of 'dlg,wdt-sd' but it's obviously not there so
assumes the bit should be set to 0 and does so
3) When the watchdog fires, it will no longer trigger SHUTDOWN but instead
POWER-DOWN due to binary handling of new boolean binding.
Powered by blists - more mailing lists