Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 88266917 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://www.linux-watchdog.org/linux-watchdog:
  watchdog: omap_wdt.c: fix the WDIOC_GETBOOTSTATUS ioctl if not implemented.
  watchdog: new driver for VIA chipsets
  watchdog: ath79_wdt: flush register writes
  drivers/watchdog/lantiq_wdt.c: drop iounmap for devm_ allocated data
  watchdog: documentation: describe nowayout in coversion-guide
  watchdog: documentation: update index file
  watchdog: Convert wm831x driver to devm_kzalloc()
  watchdog: add nowayout helpers to Watchdog Timer Driver Kernel API
  watchdog: convert drivers/watchdog/* to use module_platform_driver()
  watchdog: Use DEFINE_SPINLOCK() for static spinlocks
  watchdog: Convert Wolfson drivers to module_platform_driver
parents 269d4301 e2bf7c4c
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
00-INDEX
00-INDEX
	- this file.
	- this file.
convert_drivers_to_kernel_api.txt
	- how-to for converting old watchdog drivers to the new kernel API.
hpwdt.txt
hpwdt.txt
	- information on the HP iLO2 NMI watchdog
	- information on the HP iLO2 NMI watchdog
pcwd-watchdog.txt
pcwd-watchdog.txt
+19 −0
Original line number Original line Diff line number Diff line
@@ -163,6 +163,25 @@ Here is a simple example for a watchdog device:
+};
+};




Handle the 'nowayout' feature
-----------------------------

A few drivers use nowayout statically, i.e. there is no module parameter for it
and only CONFIG_WATCHDOG_NOWAYOUT determines if the feature is going to be
used. This needs to be converted by initializing the status variable of the
watchdog_device like this:

        .status = WATCHDOG_NOWAYOUT_INIT_STATUS,

Most drivers, however, also allow runtime configuration of nowayout, usually
by adding a module parameter. The conversion for this would be something like:

	watchdog_set_nowayout(&s3c2410_wdd, nowayout);

The module parameter itself needs to stay, everything else related to nowayout
can go, though. This will likely be some code in open(), close() or write().


Register the watchdog device
Register the watchdog device
----------------------------
----------------------------


+9 −1
Original line number Original line Diff line number Diff line
The Linux WatchDog Timer Driver Core kernel API.
The Linux WatchDog Timer Driver Core kernel API.
===============================================
===============================================
Last reviewed: 22-Jul-2011
Last reviewed: 29-Nov-2011


Wim Van Sebroeck <wim@iguana.be>
Wim Van Sebroeck <wim@iguana.be>


@@ -142,6 +142,14 @@ bit-operations. The status bits that are defined are:
* WDOG_NO_WAY_OUT: this bit stores the nowayout setting for the watchdog.
* WDOG_NO_WAY_OUT: this bit stores the nowayout setting for the watchdog.
  If this bit is set then the watchdog timer will not be able to stop.
  If this bit is set then the watchdog timer will not be able to stop.


  To set the WDOG_NO_WAY_OUT status bit (before registering your watchdog
  timer device) you can either:
  * set it statically in your watchdog_device struct with
	.status = WATCHDOG_NOWAYOUT_INIT_STATUS,
    (this will set the value the same as CONFIG_WATCHDOG_NOWAYOUT) or
  * use the following helper function:
  static inline void watchdog_set_nowayout(struct watchdog_device *wdd, int nowayout)

Note: The WatchDog Timer Driver Core supports the magic close feature and
Note: The WatchDog Timer Driver Core supports the magic close feature and
the nowayout feature. To use the magic close feature you must set the
the nowayout feature. To use the magic close feature you must set the
WDIOF_MAGICCLOSE bit in the options field of the watchdog's info structure.
WDIOF_MAGICCLOSE bit in the options field of the watchdog's info structure.
+13 −0
Original line number Original line Diff line number Diff line
@@ -772,6 +772,19 @@ config SMSC37B787_WDT


	  Most people will say N.
	  Most people will say N.


config VIA_WDT
	tristate "VIA Watchdog Timer"
	depends on X86
	select WATCHDOG_CORE
	---help---
	This is the driver for the hardware watchdog timer on VIA
	southbridge chipset CX700, VX800/VX820 or VX855/VX875.

	To compile this driver as a module, choose M here; the module
	will be called via_wdt.

	Most people will say N.

config W83627HF_WDT
config W83627HF_WDT
	tristate "W83627HF/W83627DHG Watchdog Timer"
	tristate "W83627HF/W83627DHG Watchdog Timer"
	depends on X86
	depends on X86
+1 −0
Original line number Original line Diff line number Diff line
@@ -99,6 +99,7 @@ obj-$(CONFIG_SBC7240_WDT) += sbc7240_wdt.o
obj-$(CONFIG_CPU5_WDT) += cpu5wdt.o
obj-$(CONFIG_CPU5_WDT) += cpu5wdt.o
obj-$(CONFIG_SMSC_SCH311X_WDT) += sch311x_wdt.o
obj-$(CONFIG_SMSC_SCH311X_WDT) += sch311x_wdt.o
obj-$(CONFIG_SMSC37B787_WDT) += smsc37b787_wdt.o
obj-$(CONFIG_SMSC37B787_WDT) += smsc37b787_wdt.o
obj-$(CONFIG_VIA_WDT) += via_wdt.o
obj-$(CONFIG_W83627HF_WDT) += w83627hf_wdt.o
obj-$(CONFIG_W83627HF_WDT) += w83627hf_wdt.o
obj-$(CONFIG_W83697HF_WDT) += w83697hf_wdt.o
obj-$(CONFIG_W83697HF_WDT) += w83697hf_wdt.o
obj-$(CONFIG_W83697UG_WDT) += w83697ug_wdt.o
obj-$(CONFIG_W83697UG_WDT) += w83697ug_wdt.o
Loading