u-boot/drivers
Rasmus Villemoes 10107efedd sandbox: add SIGALRM-based watchdog device
In order to test that U-Boot actually maintains the watchdog device(s)
during long-running busy-loops, such as those where we wait for the
user to stop autoboot, we need a watchdog device that actually does
something during those loops; we cannot test that behaviour via the DM
test framework.

So introduce a relatively simple watchdog device which is simply based
on calling the host OS' alarm() function; that has the nice property
that a new call to alarm() simply sets a new deadline, and alarm(0)
cancels any existing alarm. These properties are precisely what we
need to implement start/reset/stop. We install our own handler so that
we get a known message printed if and when the watchdog fires, and by
just invoking that handler directly, we get expire_now for free.

The actual calls to the various OS functions (alarm, signal, raise)
need to be done in os.c, and since the driver code cannot get access
to the values of SIGALRM or SIG_DFL (that would require including a
host header, and that's only os.c which can do that), we cannot simply
do trivial wrappers for signal() and raise(), but instead create
specialized functions just for use by this driver.

Apart from enabling this driver for sandbox{,64}_defconfig, also
enable the wdt command which was useful for hand-testing this new
driver (especially with running u-boot under strace).

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2022-10-24 11:10:21 +02:00
..
adc adc: meson-saradc: add AXG variant 2022-04-25 09:25:00 +02:00
ata blk: Rename if_type to uclass_id 2022-09-25 08:30:05 -06:00
axi WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
bios_emulator video: Rename structs and functions to avoid VBE 2022-08-12 08:14:23 -04:00
block dm: blk: Do not use uclass_next_device_err 2022-10-17 21:17:12 -06:00
bootcount bootcount: pmic: Correct misleading comment 2022-10-11 15:40:48 -04:00
bus bus: ti-sysc: change in a normal driver 2021-03-22 19:23:27 +13:00
button button: gpio: add DM_GPIO dependency 2022-08-23 12:39:06 +02:00
cache drivers: cache: ncore: Disable snoop filter 2022-06-17 16:27:05 +08:00
clk Merge tag 'u-boot-rockchip-20221020' of https://source.denx.de/u-boot/custodians/u-boot-rockchip 2022-10-20 22:32:38 -04:00
core core: Enable DM by default 2022-10-21 13:47:56 -04:00
cpu dm: treewide: Do not opencode uclass_probe_all() 2022-10-17 21:17:12 -06:00
crypto dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
ddr ddr: fsl: Fix re-align of verbose DRAM information for non-SPL builds 2022-09-23 15:13:18 -04:00
demo demo: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
dfu blk: Switch over to using uclass IDs 2022-09-16 11:05:16 -04:00
dma dma: Transfer dma_ops should use DMA address types 2022-10-18 13:40:40 -04:00
fastboot Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
firmware firmware: scmi: fix the multi channel support with CCF 2022-10-12 08:55:31 -04:00
fpga fpga: virtex2: Use logging feature instead of FPGA_DEBUG 2022-10-10 12:28:08 +02:00
fuzz sandbox: Implement fuzzing engine driver 2022-06-23 12:58:19 -04:00
gpio gpio: ftgpio010: Add support for Faraday Technology FTGPIO010 2022-10-06 21:05:17 -04:00
hwspinlock treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
i2c i2c: add support for MediaTek I2C interface 2022-09-23 15:09:15 -04:00
input input: Remove legacy KEYBOARD option 2022-10-21 13:47:56 -04:00
iommu iommu: Add M2 support to Apple DART driver 2022-07-25 09:38:47 -04:00
led led: pwm: Use NOP uclass driver for top-level node 2022-07-08 10:56:45 -04:00
mailbox mailbox: zynqmp: Enable ipi mailbox driver for Versal NET 2022-09-26 14:23:29 +02:00
memory keystone2: Move CONFIG_AEMIF_CNTRL_BASE out of CONFIG namespace 2021-09-27 21:38:34 -04:00
misc misc: usb251xb: Support 8/16 bit device tree values 2022-09-14 15:23:03 -04:00
mmc dm: treewide: Use uclass_first_device_err when accessing one device 2022-10-17 21:17:12 -06:00
mtd mtd: mxs_nand: Support EDO mode for imx8mn architecture 2022-10-09 10:42:26 +02:00
mux treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
net Xilinx changes for v2023.01-rc1 (round 3) 2022-10-11 09:57:08 -04:00
nvme Merge branch 'master' into next 2022-09-19 16:07:12 -04:00
pch treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
pci dm: pci: Fix device PCI iteration 2022-10-17 21:17:12 -06:00
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy phy: ti: j721e-wiz: add j784s4-wiz-10g module support 2022-10-18 09:48:22 -04:00
pinctrl suniv: add UART1 support 2022-10-19 14:15:02 +01:00
power sandbox: power: Update PMIC driver to use log 2022-09-29 16:07:57 -04:00
pwm pwm: mtk: add support for MediaTek MT7981 SoC 2022-09-23 15:09:15 -04:00
qe powerpc: remove support for kmtergr1 and MPC8309 2022-08-20 22:45:00 -04:00
ram ram: rockchip: fix typo in KConfig option label 2022-10-19 19:30:48 +08:00
reboot-mode reboot-mode: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
remoteproc remoteproc: ipu: Add driver to bring up ipu 2022-02-08 11:00:03 -05:00
reset reset: zynqmp: Enable reset driver for Versal NET 2022-09-26 14:23:29 +02:00
rng drivers: rng: optee_rng: register to CONFIG_OPTEE_SERVICE_DISCOVERY 2022-09-14 15:23:03 -04:00
rtc treewide: Fix Marek's name and change my e-mail address 2022-07-21 10:14:04 +02:00
scsi sandbox: Convert to use driver model for SCSI 2022-09-25 13:59:50 -06:00
serial dm: treewide: Use uclass_first_device_err when accessing one device 2022-10-17 21:17:12 -06:00
smem smem: msm: add missing <linux/sizes.h> 2022-10-12 08:56:24 -04:00
soc soc: xilinx: zynqmp: Mark soc_xilinx_zynqmp_get_machine() as static 2022-10-10 12:28:08 +02:00
sound sound: enable building DA7219 driver with ACPIGEN=n 2022-07-08 09:05:47 -04:00
spi spi: Implement spi_set_speed 2022-10-16 12:23:22 +02:00
spmi spmi: msm: add arbiter version 5 support 2021-10-31 08:46:44 -04:00
sysinfo sysinfo: rcar3: Add Renesas R-Car Gen3 sysinfo driver 2021-07-20 23:33:54 +02:00
sysreset dm: treewide: Use uclass_first_device_err when accessing one device 2022-10-17 21:17:12 -06:00
tee blk: Switch over to using uclass IDs 2022-09-16 11:05:16 -04:00
thermal thermal: add sandbox driver 2022-10-11 16:03:03 -04:00
timer timer: orion-timer: Only init timer once 2022-10-06 10:15:35 +02:00
tpm tpm: Implement state command for Cr50 2022-09-03 16:59:05 +03:00
ufs lib: fix selection of CONFIG_CHARSET 2022-05-03 21:39:22 +02:00
usb usb: ether: Fix error handling in usb_ether_init 2022-10-17 21:17:12 -06:00
video dm: treewide: Use uclass_first_device_err when accessing one device 2022-10-17 21:17:12 -06:00
virtio dm: treewide: Do not opencode uclass_probe_all() 2022-10-17 21:17:12 -06:00
w1 w1: Fix bus counting in w1_get_bus 2022-10-17 21:17:12 -06:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog sandbox: add SIGALRM-based watchdog device 2022-10-24 11:10:21 +02:00
xen dm: core: Switch uclass_foreach_dev_probe to use simple iterator 2022-10-17 21:17:12 -06:00
Kconfig fuzzing_engine: Add fuzzing engine uclass 2022-06-23 12:58:18 -04:00
Makefile blk: Rename HAVE_BLOCK_DEVICE 2022-09-16 11:05:16 -04:00