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 Diff line number Diff line
00-INDEX
	- this file.
convert_drivers_to_kernel_api.txt
	- how-to for converting old watchdog drivers to the new kernel API.
hpwdt.txt
	- information on the HP iLO2 NMI watchdog
pcwd-watchdog.txt
+19 −0
Original line number 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
----------------------------

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

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.
  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
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.
+13 −0
Original line number Diff line number Diff line
@@ -772,6 +772,19 @@ config SMSC37B787_WDT

	  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
	tristate "W83627HF/W83627DHG Watchdog Timer"
	depends on X86
+1 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ obj-$(CONFIG_SBC7240_WDT) += sbc7240_wdt.o
obj-$(CONFIG_CPU5_WDT) += cpu5wdt.o
obj-$(CONFIG_SMSC_SCH311X_WDT) += sch311x_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_W83697HF_WDT) += w83697hf_wdt.o
obj-$(CONFIG_W83697UG_WDT) += w83697ug_wdt.o
Loading