Messages in this thread | | | Subject | Re: [PATCH v2 3/4] dt-bindings: watchdog: da9062: add watchdog timeout mode | From | Guenter Roeck <> | Date | Tue, 30 Nov 2021 23:01:19 -0800 |
| |
On 11/30/21 10:42 PM, Andrej Picej wrote: > > On 30. 11. 21 18:46, Adam Thomson wrote: >> 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. >> > > This was my thinking exactly. I also first thought about boolean value, but I then moved to the integer value of 0 or 1 after checking the OTP default for this bit. The da9062 I'm working with has the bit set to 1 by default.
That needs to be be documented.
Guenter
| |