linux/drivers/watchdog
Marco Felsch 057b52b4b3 watchdog: da9062: make restart handler atomic safe
The restart handler is executed during the shutdown phase which is
atomic/irq-less. The i2c framework supports atomic transfers since
commit 63b96983a5 ("i2c: core: introduce callbacks for atomic
transfers") to address this use case. Using regmap within an atomic
context is allowed only if the regmap type is MMIO and the cache type
'flat' or no cache is used. Using the i2c_smbus_write_byte_data()
function can be done without additional tests because:
 1) the DA9062 is an i2c-only device and
 2) the i2c framework emulates the smbus protocol if the host adapter
    does not support smbus_xfer by using the master_xfer.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Stefan Lengfeld <contact@stefanchrist.eu>
Tested-by: Stefan Lengfeld <contact@stefanchrist.eu>
Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Link: https://lore.kernel.org/r/20200115162307.7336-1-m.felsch@pengutronix.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2020-01-27 15:55:49 +01:00
..
acquirewdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
advantechwdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
alim1535_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
alim7101_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ar7_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
armada_37xx_wdt.c watchdog: armada_37xx_wdt: Convert to use device managed functions and other improvements 2019-05-05 21:02:14 +02:00
asm9260_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
aspeed_wdt.c watchdog: aspeed: Fix clock behaviour for ast2600 2019-11-18 19:53:44 +01:00
at91rm9200_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
at91sam9_wdt.c watchdog: Convert to use devm_platform_ioremap_resource 2019-05-05 21:02:12 +02:00
at91sam9_wdt.h watchdog: sama5d4_wdt: addition of sam9x60 compatible watchdog 2020-01-27 15:55:44 +01:00
ath79_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
atlas7_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 191 2019-05-30 11:29:21 -07:00
bcm47xx_wdt.c watchdog: add SPDX identifiers for watchdog subsystem 2018-03-24 10:19:40 +01:00
bcm63xx_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
bcm2835_wdt.c watchdog: bcm2835_wdt: Fix module autoload 2019-07-08 16:08:32 +02:00
bcm7038_wdt.c watchdog: bcm7038_wdt: drop warning after registering device 2019-07-08 15:13:02 +02:00
bcm_kona_wdt.c watchdog: bcm_kona_wdt: no need to check return value of debugfs_create functions 2019-07-08 20:35:10 +02:00
bd70528_wdt.c watchdog: bd70528: Trivial function documentation fix 2019-11-18 19:53:41 +01:00
booke_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cadence_wdt.c watchdog: cadence: Skip printing pointer value 2020-01-27 15:55:46 +01:00
coh901327_wdt.c watchdog: coh901327: make it explicitly non-modular 2019-05-05 21:10:33 +02:00
cpu5wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
cpwd.c watchdog: cpwd: fix build regression 2019-11-05 16:58:11 +01:00
da9052_wdt.c watchdog: da9052_wdt: drop warning after registering device 2019-07-08 15:13:04 +02:00
da9055_wdt.c watchdog: da9055_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:16 +02:00
da9062_wdt.c watchdog: da9062: make restart handler atomic safe 2020-01-27 15:55:49 +01:00
da9063_wdt.c watchdog: da9063_wdt: parse DT for timeout value, too 2019-05-05 21:04:57 +02:00
davinci_wdt.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
diag288_wdt.c watchdog: diag288_wdt: Remove leftover includes from conversion to watchdog API 2019-09-17 08:59:01 +02:00
digicolor_wdt.c watchdog: digicolor_wdt: Remove unused variable in dc_wdt_probe 2019-07-15 08:49:11 +02:00
dw_wdt.c watchdog: dw_wdt: ping watchdog to reset countdown before start 2020-01-27 15:55:46 +01:00
ebc-c384_wdt.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
ep93xx_wdt.c watchdog: ep93xx_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:19 +02:00
eurotechwdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
f71808e_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ftwdt010_wdt.c watchdog: ftwdt010_wdt: drop warning after registering device 2019-07-08 15:13:06 +02:00
gef_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
geodewdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
gpio_wdt.c watchdog: gpio: add support for nowayout option 2019-07-08 19:39:44 +02:00
hpwdt.c watchdog/hpwdt: Reflect changes 2019-07-08 16:10:10 +02:00
i6300esb.c watchdog: i6300esb: drop warning after registering device 2019-07-08 15:13:06 +02:00
ib700wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ibmasr.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ie6xx_wdt.c watchdog: ie6xx_wdt: Use spinlock_t instead of struct spinlock 2019-07-08 20:46:48 +02:00
imgpdc_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
imx2_wdt.c watchdog: imx2_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-11-18 19:53:39 +01:00
imx7ulp_wdt.c watchdog: imx7ulp: Fix missing conversion of imx7ulp_wdt_enable() 2019-12-30 15:58:23 +01:00
imx_sc_wdt.c watchdog: imx_sc_wdt: Pretimeout should follow SCU firmware format 2019-11-05 16:58:12 +01:00
indydog.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
intel_scu_watchdog.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
intel_scu_watchdog.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 278 2019-06-05 17:36:36 +02:00
intel-mid_wdt.c watchdog: intel-mid_wdt: Add WATCHDOG_NOWAYOUT support 2019-11-18 19:53:39 +01:00
iop_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
it87_wdt.c watchdog: it87_wdt: add IT8786 ID 2020-01-27 15:55:47 +01:00
it8712f_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
iTCO_vendor_support.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
iTCO_vendor.h watchdog: iTCO_wdt: Remove unused hooks 2018-10-02 13:32:25 +02:00
iTCO_wdt.c watchdog: iTCO: Add support for Cannon Lake PCH iTCO 2019-09-03 19:47:40 +02:00
ixp4xx_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
jz4740_wdt.c watchdog: jz4740: Use regmap provided by TCU driver 2019-11-18 20:14:46 +01:00
Kconfig watchdog: tqmx86_wdt: Fix build error 2019-12-30 15:58:24 +01:00
kempld_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 294 2019-06-05 17:36:38 +02:00
lantiq_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
loongson1_wdt.c watchdog: loongson1_wdt: drop warning after registering device 2019-07-08 15:13:08 +02:00
lpc18xx_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
m54xx_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
machzwd.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
Makefile watchdog: Add i.MX7ULP watchdog support 2019-09-17 08:59:12 +02:00
max63xx_wdt.c watchdog: max63xx_wdt: Convert to use device managed functions and other improvements 2019-05-05 21:02:22 +02:00
max77620_wdt.c watchdog: max77620_wdt: drop warning after registering device 2019-07-08 15:13:09 +02:00
mei_wdt.c watchdog: mei_wdt: no need to check return value of debugfs_create functions 2019-07-08 20:35:10 +02:00
mena21_wdt.c watchdog: mena21_wdt: drop warning after registering device 2019-07-08 15:13:09 +02:00
menf21bmc_wdt.c watchdog: menf21bmc_wdt: drop warning after registering device 2019-07-08 15:13:10 +02:00
menz69_wdt.c drivers: mcb: use symbol namespaces 2019-11-03 19:54:53 +01:00
meson_gxbb_wdt.c watchdog: meson: Fix the wrong value of left time 2019-11-05 16:58:12 +01:00
meson_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mixcomwd.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
mlx_wdt.c watchdog: mlx_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:24 +02:00
moxart_wdt.c watchdog: moxart_wdt: Convert to use device managed functions and other improvements 2019-05-05 21:02:24 +02:00
mpc8xxx_wdt.c watchdog: mpc8xxx_wdt: drop warning after registering device 2019-07-08 15:13:10 +02:00
mt7621_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mtk_wdt.c watchdog: mtk_wdt: mt2712: Add reset controller 2020-01-27 15:55:49 +01:00
mtx-1_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
mv64x60_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ni903x_wdt.c watchdog: ni903x_wdt: drop warning after registering device 2019-07-08 15:13:10 +02:00
nic7018_wdt.c watchdog: nic7018_wdt: drop warning after registering device 2019-07-08 15:13:11 +02:00
npcm_wdt.c watchdog: npcm_wdt: drop warning after registering device 2019-07-08 15:13:11 +02:00
nv_tco.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
nv_tco.h watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
octeon-wdt-main.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
octeon-wdt-nmi.S watchdog: octeon-wdt: Remove old boot vector code. 2017-09-04 21:19:03 +02:00
of_xilinx_wdt.c watchdog: of_xilinx_wdt: drop warning after registering device 2019-07-08 15:13:12 +02:00
omap_wdt.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
omap_wdt.h watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
orion_wdt.c watchdog: orion: fix platform_get_irq() complaints 2019-12-30 15:58:29 +01:00
pc87413_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pcwd_pci.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pcwd_usb.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pcwd.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pic32-dmt.c watchdog: pic32-dmt: drop warning after registering device 2019-07-08 15:13:12 +02:00
pic32-wdt.c watchdog: pic32-wdt: drop warning after registering device 2019-07-08 15:13:12 +02:00
pika_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pm8916_wdt.c watchdog: pm8916_wdt: fix pretimeout registration flow 2019-11-05 16:58:11 +01:00
pnx833x_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pnx4008_wdt.c watchdog: pnx4008_wdt: allow compile-testing 2019-09-16 22:10:05 +02:00
pretimeout_noop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pretimeout_panic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
qcom-wdt.c watchdog: qcom: Use platform_get_irq_optional() for bark irq 2020-01-27 15:55:45 +01:00
rave-sp-wdt.c watchdog: rave-sp-wdt: drop warning after registering device 2019-07-08 15:13:14 +02:00
rc32434_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
rdc321x_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
renesas_wdt.c watchdog: renesas_wdt: Add a few cycles delay 2019-07-08 19:39:44 +02:00
retu_wdt.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
riowd.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
rn5t618_wdt.c watchdog: rn5t618_wdt: fix module aliases 2019-12-30 15:58:29 +01:00
rt2880_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtd119x_wdt.c watchdog: rtd119x: drop unused module.h include 2019-05-05 21:10:34 +02:00
rza_wdt.c watchdog: rza_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:27 +02:00
s3c2410_wdt.c watchdog: s3c2410_wdt: drop warning after registering device 2019-07-08 15:13:14 +02:00
sa1100_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sama5d4_wdt.c watchdog: sama5d4_wdt: addition of sam9x60 compatible watchdog 2020-01-27 15:55:44 +01:00
sb_wdog.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sbc60xxwdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sbc7240_wdt.c linux-watchdog 5.5-rc1 tag 2019-12-01 18:01:03 -08:00
sbc8360.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
sbc_epx_c3.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sbc_fitpc2_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sbsa_gwdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 294 2019-06-05 17:36:38 +02:00
sc520_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sc1200wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sch311x_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
scx200_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
shwdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sirfsoc_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
smsc37b787_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
softdog.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
sp805_wdt.c watchdog: sp805_wdt: drop warning after registering device 2019-07-08 15:13:15 +02:00
sp5100_tco.c watchdog: sp5100_tco: drop warning after registering device 2019-07-08 15:13:15 +02:00
sp5100_tco.h watchdog: sp5100_tco: Add support for recent FCH versions 2018-01-21 12:56:37 +01:00
sprd_wdt.c watchdog: sprd: Fix the incorrect pointer getting from driver data 2019-11-18 19:53:45 +01:00
st_lpc_wdt.c watchdog: st_lpc_wdt: drop warning after registering device 2019-07-08 15:13:16 +02:00
stm32_iwdg.c drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe 2020-01-27 15:55:44 +01:00
stmp3xxx_rtc_wdt.c watchdog: stmp3xxx_rtc_wdt: drop warning after registering device 2019-07-08 15:13:17 +02:00
stpmic1_wdt.c watchdog: stpmic1_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:29 +02:00
sun4v_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sunxi_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
tangox_wdt.c watchdog: tangox_wdt: Convert to use device managed functions and other improvements 2019-05-05 21:02:30 +02:00
tegra_wdt.c watchdog: tegra_wdt: drop warning after registering device 2019-07-08 15:13:17 +02:00
tqmx86_wdt.c watchdog: tqmx86_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:31 +02:00
ts72xx_wdt.c watchdog: ts72xx_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:32 +02:00
ts4800_wdt.c watchdog: ts4800_wdt: drop warning after registering device 2019-07-08 15:13:17 +02:00
twl4030_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
txx9wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
uniphier_wdt.c watchdog: uniphier_wdt: drop platform_set_drvdata 2019-05-05 21:02:32 +02:00
ux500_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
via_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
w83627hf_wdt.c watchdog: w83627hf_wdt: Fix support NCT6116D 2019-12-30 15:58:23 +01:00
w83877f_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
w83977f_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wafer5823wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
watchdog_core.c watchdog: fix UAF in reboot notifier handling in watchdog core code 2020-01-27 15:55:46 +01:00
watchdog_core.h watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
watchdog_dev.c watchdog: fix UAF in reboot notifier handling in watchdog core code 2020-01-27 15:55:46 +01:00
watchdog_pretimeout.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
watchdog_pretimeout.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
wd501p.h watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
wdat_wdt.c watchdog: wdat_wdt: Spelling s/configrable/configurable/ 2019-11-18 19:53:41 +01:00
wdrtas.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wdt285.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wdt977.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wdt_pci.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wm831x_wdt.c watchdog: wm831x_wdt: drop warning after registering device 2019-07-08 15:13:18 +02:00
wm8350_wdt.c watchdog: add SPDX identifiers for watchdog subsystem 2018-03-24 10:19:40 +01:00
xen_wdt.c watchdog: xen_wdt: drop warning after registering device 2019-07-08 15:13:18 +02:00
ziirave_wdt.c watchdog: ziirave_wdt: Update checked I2C functionality mask 2019-09-17 08:59:09 +02:00
zx2967_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00