[PATCH v3 07/10] watchdog: wdt-uclass.c: handle all DM watchdogs in watchdog_reset()

Stefan Roese sr at denx.de
Sat Jul 31 12:06:11 CEST 2021


Hi Rasmus,

On 15.07.21 10:15, Stefan Roese wrote:
> Hi Rasmus,
> 
> On 05.07.21 17:30, Simon Glass wrote:
>> Hi Rasmus,
>>
>> On Fri, 2 Jul 2021 at 06:45, Rasmus Villemoes
>> <rasmus.villemoes at prevas.dk> wrote:
>>>
>>> A board can have and make use of more than one watchdog device, say
>>> one built into the SOC and an external gpio-petted one. Having
>>> wdt-uclass only handle the first is both a little arbitrary and
>>> unexpected.
>>>
>>> So change initr_watchdog() so we visit (probe) all DM watchdog
>>> devices. This essentially boils down to making the init_watchdog_dev
>>> function into a .post_probe method.
>>>
>>> Similarly let watchdog_reset() loop over the whole uclass - each
>>> having their own ratelimiting metadata, and a separate "is this device
>>> running" flag.
>>>
>>> This gets rid of the watchdog_dev member of struct global_data.  We
>>> do, however, still need the GD_FLG_WDT_READY set in
>>> initr_watchdog(). This is because watchdog_reset() can get called
>>> before DM is ready, and I don't think we can call uclass_get() that
>>> early.
>>>
>>> The current code just returns 0 if "getting" the first device fails -
>>> that can of course happen because there are no devices, but it could
>>> also happen if its ->probe call failed. In keeping with that, continue
>>> with the handling of the remaining devices even if one fails to
>>> probe. This is also why we cannot use uclass_probe_all().
>>>
>>> If desired, it's possible to later add a per-device "u-boot,autostart"
>>> boolean property, so that one can do CONFIG_WATCHDOG_AUTOSTART
>>> per-device.
>>>
>>> Reviewed-by: Stefan Roese <sr at denx.de>
>>> Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
>>> ---
>>>   drivers/watchdog/wdt-uclass.c     | 96 ++++++++++++++++++-------------
>>>   include/asm-generic/global_data.h |  6 --
>>>   2 files changed, 56 insertions(+), 46 deletions(-)
>>>
>>
>> Please see my belated reply on the previous version of this patch.
> 
> Rasmus, do you plan to send an updated patchset version, addressing
> Simons's comments?

Any updates on this?

Thanks,
Stefan


More information about the U-Boot mailing list