u-boot/drivers
Rasmus Villemoes 492ee6b8d0 watchdog: wdt-uclass.c: handle all DM watchdogs in watchdog_reset()
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, and call the init_watchdog_dev helper for each.

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: Simon Glass <sjg@chromium.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2021-08-31 12:04:03 +02:00
..
adc dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
ata arm: mvebu: sata_mv failed to identify HDDs during cold start 2021-08-11 08:42:26 +02:00
axi dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
bios_emulator pci: Drop DM_PCI check from bios_emul 2021-08-05 19:46:35 -04:00
block blk: Support iteration 2021-07-21 10:27:35 -06:00
bootcount bootcount: add a new driver with syscon as backend 2021-08-22 11:04:52 +02:00
bus bus: ti-sysc: change in a normal driver 2021-03-22 19:23:27 +13:00
button dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
cache dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
clk drivers: clk: Add memory clock driver for Intel N5X device 2021-08-25 12:55:13 +08:00
core dm: core: Don't allow uclass use before ready 2021-08-08 11:27:27 -06:00
cpu dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
crypto crypto/fsl: fix missed dma_addr_t -> caam_dma_addr_t conversion 2021-08-18 15:55:15 +05:30
ddr ddr: altera: Add SDRAM driver for Intel N5X device 2021-08-25 13:47:05 +08:00
demo common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
dfu global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
dma dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
fastboot Fix flashing of eMMC user area with Fastboot 2021-08-21 18:23:02 -04:00
firmware psci: Do not define do_poweroff() if CONFIG_SYSRESET_CMD_POWEROFF is enabled 2021-07-26 09:18:45 +02:00
fpga arm: socfpga: Move Stratix10 and Agilex to use TARGET_SOCFPGA_SOC64 2021-03-08 10:59:10 +08:00
gpio gpio: mcp230xx: Introduce new driver 2021-08-22 10:53:14 +02:00
hwspinlock dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
i2c i2c: fsl_i2c: Migrate to Kconfig 2021-08-30 14:10:07 -04:00
input i8042: Do not abuse CONFIG namespace 2021-08-30 14:13:28 -04:00
led dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
mailbox dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
memory memory: stm32-fmc2: migrate trace to dev and log macro 2021-01-13 09:52:58 +01:00
misc Convert CONFIG_SYS_I2C_EEPROM_ADDR et al to Kconfig 2021-08-30 14:10:06 -04:00
mmc Xilinx changes for v2021.10-rc3 2021-08-27 08:33:02 -04:00
mtd nand: vf610_nfc: Do not abuse CONFIG namespace 2021-08-30 14:10:08 -04:00
mux dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
net global: Remove dead code that starts with CONFIG_[0-9A] 2021-08-30 14:13:28 -04:00
nvme dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
pch dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
pci arm: a37xx: pci: Fix handling PIO config error responses 2021-08-11 08:42:26 +02:00
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy Merge tag 'ti-v2021.10-rc2' of https://source.denx.de/u-boot/custodians/u-boot-ti 2021-07-29 08:20:06 -04:00
pinctrl pinctrl: Add pinctrl driver for imx8ulp 2021-08-09 14:46:51 +02:00
power global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
pwm dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
qe global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
ram global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
reboot-mode reboot-mode: read the boot mode from RTC memory 2021-07-23 10:16:39 -04:00
remoteproc remoteproc: pru: Add support for various PRU cores on K3 AM65x SoCs 2021-07-15 17:56:04 +05:30
reset reset: zynqmp: Add reset controller for ZynqMP SoC 2021-08-06 09:32:03 +02:00
rng dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
rtc rtc: zynqmp: Add support for ZynqMP RTC 2021-08-06 09:32:02 +02:00
scsi pci: scsi: pci: Drop DM_PCI check from scsi 2021-08-05 19:46:35 -04:00
serial global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
smem dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
soc soc: xilinx: versal: Add soc_xilinx_versal driver 2021-08-26 08:08:11 +02:00
sound dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
spi spi: altera_spi: Do not abuse CONFIG namespace 2021-08-30 14:13:28 -04:00
spmi dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
sysinfo sysinfo: rcar3: Add Renesas R-Car Gen3 sysinfo driver 2021-07-20 23:33:54 +02:00
sysreset sysreset: provide type of reset in do_reset cmd 2021-04-20 07:31:12 -04:00
tee tee: optee: sync cache on pre-reloc OP-TEE invocation 2021-07-23 07:13:25 -04:00
thermal dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
timer x86: tsc: Rename X86_TSC_TIMER_EARLY_FREQ to X86_TSC_TIMER_FREQ 2021-08-02 15:11:40 +08:00
tpm sandbox: tpm: Support extending a PCR multiple times 2021-08-01 09:05:24 -06:00
ufs dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
usb usb: dwc2: Rename CONFIG_DWC2 namespace to DWC2 2021-08-30 14:10:05 -04:00
video video: Remove ati_radeon_fb 2021-08-30 14:13:28 -04:00
virtio dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
w1 various minor sandbox improvements 2021-07-07 13:34:42 -04:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog watchdog: wdt-uclass.c: handle all DM watchdogs in watchdog_reset() 2021-08-31 12:04:03 +02:00
xen dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
Kconfig reboot-mode: add support for reboot mode control 2021-07-23 10:16:39 -04:00
Makefile ddr: Add DDR driver for iMX8ULP 2021-08-09 14:46:51 +02:00