Merge git://www.linux-watchdog.org/linux-watchdog
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Oct 2016 23:44:20 +0000 (16:44 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Oct 2016 23:44:20 +0000 (16:44 -0700)
Pull watchdog updates from Wim Van Sebroeck:

 - a new watchdog pretimeout governor framework

 - support to upload the firmware on the ziirave_wdt

 - several fixes and cleanups

* git://www.linux-watchdog.org/linux-watchdog: (26 commits)
  watchdog: imx2_wdt: add pretimeout function support
  watchdog: softdog: implement pretimeout support
  watchdog: pretimeout: add pretimeout_available_governors attribute
  watchdog: pretimeout: add option to select a pretimeout governor in runtime
  watchdog: pretimeout: add panic pretimeout governor
  watchdog: pretimeout: add noop pretimeout governor
  watchdog: add watchdog pretimeout governor framework
  watchdog: hpwdt: add support for iLO5
  fs: compat_ioctl: add pretimeout functions for watchdogs
  watchdog: add pretimeout support to the core
  watchdog: imx2_wdt: use preferred BIT macro instead of open coded values
  watchdog: st_wdt: Remove support for obsolete platforms
  watchdog: bindings: Remove obsolete platforms from dt doc.
  watchdog: mt7621_wdt: Remove assignment of dev pointer
  watchdog: rt2880_wdt: Remove assignment of dev pointer
  watchdog: constify watchdog_ops structures
  watchdog: tegra: constify watchdog_ops structures
  watchdog: iTCO_wdt: constify iTCO_wdt_pm structure
  watchdog: cadence_wdt: Fix the suspend resume
  watchdog: txx9wdt: Add missing clock (un)prepare calls for CCF
  ...

1  2 
drivers/watchdog/Kconfig
drivers/watchdog/Makefile

diff --combined drivers/watchdog/Kconfig
@@@ -152,19 -152,6 +152,19 @@@ config TANGOX_WATCHDO
  
          This driver can be built as a module. The module name is tangox_wdt.
  
 +config WDAT_WDT
 +      tristate "ACPI Watchdog Action Table (WDAT)"
 +      depends on ACPI
 +      select ACPI_WATCHDOG
 +      help
 +        This driver adds support for systems with ACPI Watchdog Action
 +        Table (WDAT) table. Servers typically have this but it can be
 +        found on some desktop machines as well. This driver will take
 +        over the native iTCO watchdog driver found on many Intel CPUs.
 +
 +        To compile this driver as module, choose M here: the module will
 +        be called wdat_wdt.
 +
  config WM831X_WATCHDOG
        tristate "WM831x watchdog"
        depends on MFD_WM831X
@@@ -1844,4 -1831,53 +1844,53 @@@ config USBPCWATCHDO
  
          Most people will say N.
  
+ comment "Watchdog Pretimeout Governors"
+ config WATCHDOG_PRETIMEOUT_GOV
+       bool "Enable watchdog pretimeout governors"
+       help
+         The option allows to select watchdog pretimeout governors.
+ if WATCHDOG_PRETIMEOUT_GOV
+ choice
+       prompt "Default Watchdog Pretimeout Governor"
+       default WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC
+       help
+         This option selects a default watchdog pretimeout governor.
+         The governor takes its action, if a watchdog is capable
+         to report a pretimeout event.
+ config WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP
+       bool "noop"
+       select WATCHDOG_PRETIMEOUT_GOV_NOOP
+       help
+         Use noop watchdog pretimeout governor by default. If noop
+         governor is selected by a user, write a short message to
+         the kernel log buffer and don't do any system changes.
+ config WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC
+       bool "panic"
+       select WATCHDOG_PRETIMEOUT_GOV_PANIC
+       help
+         Use panic watchdog pretimeout governor by default, if
+         a watchdog pretimeout event happens, consider that
+         a watchdog feeder is dead and reboot is unavoidable.
+ endchoice
+ config WATCHDOG_PRETIMEOUT_GOV_NOOP
+       tristate "Noop watchdog pretimeout governor"
+       help
+         Noop watchdog pretimeout governor, only an informational
+         message is added to kernel log buffer.
+ config WATCHDOG_PRETIMEOUT_GOV_PANIC
+       tristate "Panic watchdog pretimeout governor"
+       help
+         Panic watchdog pretimeout governor, on watchdog pretimeout
+         event put the kernel into panic.
+ endif # WATCHDOG_PRETIMEOUT_GOV
  endif # WATCHDOG
@@@ -3,9 -3,15 +3,15 @@@
  #
  
  # The WatchDog Timer Driver Core.
- watchdog-objs += watchdog_core.o watchdog_dev.o
  obj-$(CONFIG_WATCHDOG_CORE)   += watchdog.o
  
+ watchdog-objs += watchdog_core.o watchdog_dev.o
+ watchdog-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV)    += watchdog_pretimeout.o
+ obj-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP)    += pretimeout_noop.o
+ obj-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC)   += pretimeout_panic.o
  # Only one watchdog can succeed. We probe the ISA/PCI/USB based
  # watchdog-cards first, then the architecture specific watchdog
  # drivers and then the architecture independent "softdog" driver.
@@@ -202,7 -208,6 +208,7 @@@ obj-$(CONFIG_DA9062_WATCHDOG) += da9062
  obj-$(CONFIG_DA9063_WATCHDOG) += da9063_wdt.o
  obj-$(CONFIG_GPIO_WATCHDOG)   += gpio_wdt.o
  obj-$(CONFIG_TANGOX_WATCHDOG) += tangox_wdt.o
 +obj-$(CONFIG_WDAT_WDT) += wdat_wdt.o
  obj-$(CONFIG_WM831X_WATCHDOG) += wm831x_wdt.o
  obj-$(CONFIG_WM8350_WATCHDOG) += wm8350_wdt.o
  obj-$(CONFIG_MAX63XX_WATCHDOG) += max63xx_wdt.o