linux/drivers/watchdog
Jerry Hoemann 0458f403fe watchdog: hpwdt: Programable Pretimeout NMI
Make whether or not the hpwdt watchdog delivers a pretimeout NMI
programable by the user.

The underlying iLO hardware is programmable as to whether or not
a pre-timeout NMI is delivered to the system before the iLO resets
the system.  However, the iLO does not allow for programming the
length of time that NMI is delivered before the system is reset.

By watchdog API, in hpwdt_set_pretimeout a val == 0 disables the NMI.
When val != 0, hpwdt_set_pretimeout will enable the pretimeout NMI
provided the current timeout is greator than the HW specified
pretimeout length. Otherwise an error is returned.

In set_timeout, if the new timeout is <= an already established pretimeout,
the pretimeout is canceled.  This matches the action watchdog_set_timeout
in the watchdog core would do if an hpwdt specific set_timeout
function wasn't specified.

Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2018-03-03 17:04:18 +01:00
..
acquirewdt.c
advantechwdt.c watchdog: advantechwdt: mark expected switch fall-through 2017-12-28 20:45:28 +01:00
alim1535_wdt.c watchdog: alim1535_wdt: mark expected switch fall-through 2017-12-28 20:45:28 +01:00
alim7101_wdt.c treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
ar7_wdt.c
asm9260_wdt.c watchdog: asm9260_wdt: fix error handling in asm9260_wdt_probe() 2018-03-03 17:04:16 +01:00
aspeed_wdt.c watchdog: aspeed: Move init to arch_initcall 2017-12-28 20:44:50 +01:00
at91rm9200_wdt.c Merge git://www.linux-watchdog.org/linux-watchdog 2015-09-11 15:12:59 -07:00
at91sam9_wdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
at91sam9_wdt.h watchdog: add a driver to support SAMA5D4 watchdog timer 2015-09-09 21:38:29 +02:00
ath79_wdt.c mips: separate extable.h, switch module.h to it 2016-10-05 18:36:18 -04:00
atlas7_wdt.c watchdog: constify watchdog_ops structures 2017-02-24 14:00:23 -08:00
bcm47xx_wdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
bcm63xx_wdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
bcm2835_wdt.c scripts/spelling.txt: add "partiton" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
bcm7038_wdt.c watchdog: bcm7038: Check the return value from clk_prepare_enable() 2017-09-09 20:52:13 +02:00
bcm_kona_wdt.c watchdog: bcm281xx: Fix use of uninitialized spinlock. 2017-05-19 10:42:25 +02:00
bfin_wdt.c
booke_wdt.c watchdog: constify watchdog_ops structures 2017-02-24 14:00:23 -08:00
cadence_wdt.c watchdog: cadence_wdt: Show information when driver is probed 2017-09-09 20:35:31 +02:00
coh901327_wdt.c watchdog: coh901327: make license text and module licence match 2018-03-03 17:04:16 +01:00
cpu5wdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
cpwd.c watchdog: cpwd: Convert timers to use timer_setup() 2017-11-02 15:50:26 -07:00
da9052_wdt.c watchdog: da9052_wdt: Convert to use device managed functions 2017-02-24 14:00:23 -08:00
da9055_wdt.c watchdog: da9055_wdt: Convert to use device managed functions 2017-02-24 14:00:23 -08:00
da9062_wdt.c watchdog: da9062: use protection delay mechanism from core 2017-12-28 20:45:08 +01:00
da9063_wdt.c watchdog: da9063_wdt: Simplify by removing unneeded struct... 2017-09-09 20:55:26 +02:00
davinci_wdt.c watchdog: davinci_wdt: add restart function 2017-12-28 20:45:56 +01:00
diag288_wdt.c watchdog: constify watchdog_ops and watchdog_info structures 2017-09-09 20:29:53 +02:00
digicolor_wdt.c watchdog: constify watchdog_ops structures 2017-02-24 14:00:23 -08:00
dw_wdt.c watchdog: dw_wdt: add stop watchdog operation 2017-12-28 20:44:55 +01:00
ebc-c384_wdt.c watchdog: ebc-c384_wdt: Utilize devm_ functions in driver probe callback 2017-02-24 14:00:23 -08:00
ep93xx_wdt.c watchdog: ep93xx_wdt: cleanup and let the core handle the heartbeat 2017-02-24 14:00:23 -08:00
eurotechwdt.c watchdog: eurotechwdt: mark expected switch fall-through 2017-12-28 20:45:51 +01:00
f71808e_wdt.c watchdog: f71808e_wdt: Fix magic close handling 2018-03-03 15:52:32 +01:00
ftwdt010_wdt.c watchdog: ftwdt010: Make interrupt optional 2017-12-28 20:45:02 +01:00
gef_wdt.c watchdog: Fix module autoload for OF platform driver 2015-09-28 10:56:01 +02:00
geodewdt.c
gpio_wdt.c watchdog: gpio: change order for setting default timeout 2018-03-03 17:04:15 +01:00
hpwdt.c watchdog: hpwdt: Programable Pretimeout NMI 2018-03-03 17:04:18 +01:00
i6300esb.c watchdog: i6300esb: remove info message and version number 2017-12-28 20:45:18 +01:00
ib700wdt.c watchdog: ib700wdt: mark expected switch fall-through 2017-12-28 20:45:52 +01:00
ibmasr.c
ie6xx_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
imgpdc_wdt.c watchdog: constify watchdog_info structures 2017-02-24 14:00:23 -08:00
imx2_wdt.c watchdog: imx2_wdt: allow setting timeout in devicetree 2018-03-03 17:04:12 +01:00
indydog.c
intel_scu_watchdog.c
intel_scu_watchdog.h
intel-mid_wdt.c watchdog: intel-mid_wdt: Keep watchdog running 2017-06-05 20:37:35 +02:00
iop_wdt.c
it87_wdt.c watchdog: it87_wdt: constify watchdog_ops structure 2017-09-09 20:06:25 +02:00
it8712f_wdt.c
iTCO_vendor_support.c
iTCO_vendor.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
iTCO_wdt.c watchdog: Revert "iTCO_wdt: all versions count down twice" 2017-09-09 17:41:24 +02:00
ixp4xx_wdt.c
jz4740_wdt.c watchdog: jz4740: Add support for the watchdog in jz4780 SoC 2017-12-28 20:44:44 +01:00
Kconfig watchdog: hpwdt: Modify to use watchdog core. 2018-03-03 17:04:17 +01:00
kempld_wdt.c watchdog: kempld: fix gcc-4.3 build 2017-03-01 06:15:10 -08:00
ks8695_wdt.c char: make misc_deregister a void function 2015-08-05 10:35:49 -07:00
lantiq_wdt.c watchdog: lantiq: access boot cause register through regmap 2017-09-04 13:53:15 +02:00
loongson1_wdt.c watchdog: loongson1: Add Loongson1 SoC watchdog driver 2016-12-16 06:53:55 -08:00
lpc18xx_wdt.c watchdog: lpc18xx: remove assignment of unused ret-value 2018-03-03 17:04:16 +01:00
m54xx_wdt.c
machzwd.c treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
Makefile linux-watchdog 4.16-rc1 merge window tag 2018-02-07 11:54:34 -08:00
max63xx_wdt.c watchdog: max63xx: make module's license marker match the header 2016-01-31 16:51:56 +01:00
max77620_wdt.c watchdog: max77620_wdt: constify platform_device_id 2017-09-09 20:40:39 +02:00
mei_wdt.c watchdog: mei_wdt: don't use of variable length array 2017-12-28 20:45:23 +01:00
mena21_wdt.c watchdog: mena21_wdt: Convert to use device managed functions and other improvements 2017-02-24 14:00:23 -08:00
menf21bmc_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
meson_gxbb_wdt.c watchdog: meson: Handle return value of clk_prepare_enable 2017-07-03 11:02:31 +02:00
meson_wdt.c watchdog: meson: allow setting timeout in devicetree 2018-03-03 17:04:14 +01:00
mixcomwd.c treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
moxart_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
mpc8xxx_wdt.c watchdog: mpc8xxx: use the core worker function 2017-12-28 20:45:36 +01:00
mt7621_wdt.c watchdog: mt7621: switch to using managed devm_watchdog_register_device() 2018-01-21 12:44:59 +01:00
mtk_wdt.c watchdog: mtk: allow setting timeout in devicetree 2018-03-03 17:04:14 +01:00
mtx-1_wdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
mv64x60_wdt.c
ni903x_wdt.c watchdog: ni903x_wdt: Add NI 903x/913x watchdog driver 2016-03-01 16:25:39 +01:00
nic7018_wdt.c watchdog: nic7018_wdt: Add NIC7018 watchdog driver 2017-02-24 14:00:23 -08:00
nuc900_wdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
nv_tco.c watchdog: add support for MCP78S chipset in nv_tco 2016-07-17 21:04:13 +02:00
nv_tco.h
octeon-wdt-main.c watchdog: octeon-wdt: Add support for 78XX SOCs. 2017-09-04 21:19:03 +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: Add suspend/resume support 2017-09-09 20:48:18 +02:00
omap_wdt.c watchdog: omap_wdt: change order for setting default timeout 2018-03-03 17:04:15 +01:00
omap_wdt.h watchdog: omap_wdt: implement get_timeleft 2015-06-22 15:54:35 +02:00
orion_wdt.c watchdog: orion: fix typo 2017-12-28 20:44:57 +01:00
pc87413_wdt.c Annotate hardware config module parameters in drivers/watchdog/ 2017-04-20 12:02:32 +01:00
pcwd_pci.c watchdog: pcwd_pci: mark expected switch fall-through 2017-12-28 20:45:29 +01:00
pcwd_usb.c watchdog: pcwd_usb: remove unneeded DRIVER_LICENSE #define 2017-12-28 20:45:50 +01:00
pcwd.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
pic32-dmt.c watchdog: pic32-dmt: Remove .owner field for driver 2016-07-25 12:02:32 +02:00
pic32-wdt.c watchdog: pic32-wdt: Fix return value check in pic32_wdt_drv_probe() 2016-07-25 12:02:43 +02:00
pika_wdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
pnx833x_wdt.c
pnx4008_wdt.c watchdog: pnx4008: make use of timeout-secs provided in devicetree 2018-03-03 17:04:13 +01:00
pretimeout_noop.c watchdog: pretimeout: add noop pretimeout governor 2016-10-08 10:27:13 +02:00
pretimeout_panic.c watchdog: pretimeout: add panic pretimeout governor 2016-10-08 10:27:17 +02:00
qcom-wdt.c watchdog: qcom: Check for platform_get_resource() failure 2017-09-09 20:50:35 +02:00
rave-sp-wdt.c watchdog: Add RAVE SP watchdog driver 2018-01-08 10:08:36 +00:00
rc32434_wdt.c watchdog: rc32434_wdt: fix ioctl error handling 2016-03-01 15:29:42 +01:00
rdc321x_wdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
renesas_wdt.c watchdog: renesas_wdt: update copyright dates 2017-09-09 21:11:58 +02:00
retu_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
riowd.c
rn5t618_wdt.c watchdog: constify watchdog_info structures 2017-02-24 14:00:23 -08:00
rt2880_wdt.c watchdog: constify watchdog_ops and watchdog_info structures 2017-09-09 20:29:53 +02:00
rtd119x_wdt.c watchdog: Add Realtek RTD1295 2017-12-28 20:44:39 +01:00
rza_wdt.c watchdog: add rza_wdt driver 2017-06-05 20:37:17 +02:00
s3c2410_wdt.c watchdog: s3c2410: Minor code cleanup 2017-06-05 20:38:52 +02:00
sa1100_wdt.c watchdog: sa11x0/pxa: fix error path of driver initialization 2017-02-24 14:00:23 -08:00
sama5d4_wdt.c watchdog: sama5d4: make use of timeout-secs provided in devicetree 2018-03-03 17:04:12 +01:00
sb_wdog.c
sbc60xxwdt.c treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
sbc7240_wdt.c
sbc8360.c
sbc_epx_c3.c
sbc_fitpc2_wdt.c
sbsa_gwdt.c watchdog: sbsa: use 32-bit read for WCV 2018-03-03 15:52:32 +01:00
sc520_wdt.c treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
sc1200wdt.c watchdog: sc1200: constify pnp_device_id 2017-09-09 21:14:46 +02:00
sch311x_wdt.c
scx200_wdt.c
shwdt.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
sirfsoc_wdt.c watchdog: sirfsoc: allow setting timeout in devicetree 2018-03-03 17:04:13 +01:00
smsc37b787_wdt.c
softdog.c watchdog: softdog: fire watchdog even if softirqs do not get to run 2017-03-01 06:15:10 -08:00
sp805_wdt.c watchdog: sp805: constify amba_id 2017-09-09 21:17:44 +02:00
sp5100_tco.c watchdog: sp5100_tco: Add support for recent FCH versions 2018-01-21 12:56:37 +01: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: Add Spreadtrum watchdog driver 2017-12-28 20:45:40 +01:00
st_lpc_wdt.c watchdog: st_wdt: Remove support for obsolete platforms 2016-09-24 08:59:49 +02:00
stm32_iwdg.c watchdog: stm32: Fix copyright 2017-12-28 20:45:51 +01:00
stmp3xxx_rtc_wdt.c watchdog: stmp3xxx: Remove unused variables 2016-01-11 21:51:28 +01:00
sun4v_wdt.c watchdog: constify watchdog_ops structures 2017-02-24 14:00:23 -08:00
sunxi_wdt.c watchdog: sunxi: allow setting timeout in devicetree 2018-03-03 17:04:13 +01:00
tangox_wdt.c watchdog: tangox: Use watchdog core to install restart handler 2017-02-24 14:00:23 -08:00
tegra_wdt.c watchdog: tegra_wdt: Convert to use device managed functions 2017-02-24 14:00:23 -08:00
ts72xx_wdt.c watchdog: ts72xx_wdt: constify watchdog_ops structure 2017-09-09 20:06:14 +02:00
ts4800_wdt.c watchdog: ts4800: add driver for TS-4800 watchdog 2015-12-28 22:29:35 +01:00
twl4030_wdt.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
txx9wdt.c watchdog: txx9wdt: Add missing clock (un)prepare calls for CCF 2016-09-23 22:36:32 +02:00
uniphier_wdt.c watchdog: uniphier: change order for setting default timeout 2018-03-03 17:04:15 +01:00
ux500_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
via_wdt.c treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
w83627hf_wdt.c watchdog: w83627hf: make const array chip_name static 2017-09-09 20:08:03 +02:00
w83877f_wdt.c treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
w83977f_wdt.c watchdog: w83977f_wdt: underflow in wdt_set_timeout() 2015-11-23 08:59:30 +01:00
wafer5823wdt.c
watchdog_core.c watchdog: document watchdog_init_timeout() wdd parameter 2017-12-28 20:45:56 +01:00
watchdog_core.h watchdog: Create watchdog device in watchdog_dev.c 2015-12-29 20:36:01 +01:00
watchdog_dev.c watchdog: core: make sure the watchdog_worker is not deferred 2018-01-21 12:44:59 +01:00
watchdog_pretimeout.c watchdog: pretimeout: add pretimeout_available_governors attribute 2016-10-08 10:27:24 +02: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
wdat_wdt.c watchdog: wdat_wdt: Ping the watchdog on resume 2016-10-21 01:28:33 +02:00
wdrtas.c
wdt285.c
wdt977.c
wdt_pci.c watchdog: wdt_pci: mark expected switch fall-through 2017-12-28 20:45:30 +01:00
wdt.c Annotate hardware config module parameters in drivers/watchdog/ 2017-04-20 12:02:32 +01:00
wm831x_wdt.c watchdog: wm831x_wdt: Convert to use device managed functions 2017-02-24 14:00:23 -08:00
wm8350_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
xen_wdt.c watchdog: xen_wdt: remove info message and version number 2017-12-28 20:45:44 +01:00
ziirave_wdt.c watchdog: ziirave: constify i2c_device_id 2017-09-09 21:16:17 +02:00
zx2967_wdt.c watchdog: zx2967: explicitly request exclusive reset control 2017-09-09 20:18:43 +02:00