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

Commit 115502a6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'linux-watchdog-4.21-rc1' of git://www.linux-watchdog.org/linux-watchdog

Pull watchdog updates from Wim Van Sebroeck:
 - add TQ-Systems TQMX86 watchdog driver
 - add Qualcomm PM8916 watchdog driver
 - w83627hf_wdt: add quirk for Inves system
 - renesas_wdt: several improvements and document r8a774c0 support
 - mena21_wdt, mtx-1: Convert to use GPIO descriptor
 - bcm281xx, ie6xx_wdt: convert to DEFINE_SHOW_ATTRIBUTE
 - documentation: add PM usage and kernel-api: don't reference removed functions
 - update bindings for MT7629 SoC
 - several small fixes

* tag 'linux-watchdog-4.21-rc1' of git://www.linux-watchdog.org/linux-watchdog: (22 commits)
  watchdog: tqmx86: Add watchdog driver for the IO controller
  dt-bindings: watchdog: renesas-wdt: Document r8a774c0 support
  watchdog: docs: kernel-api: don't reference removed functions
  watchdog: add documentation for PM usage
  watchdog: mtx-1: Convert to use GPIO descriptor
  watchdog: mena21_wdt: Convert to GPIO descriptors
  dt-bindings: watchdog: Add Qualcomm PM8916 watchdog
  watchdog: Add pm8916 watchdog driver
  dt-bindings: watchdog: update bindings for MT7629 SoC
  watchdog: renesas_wdt: don't keep timer value during suspend/resume
  watchdog: ie6xx_wdt: convert to DEFINE_SHOW_ATTRIBUTE
  watchdog: bcm281xx: convert to DEFINE_SHOW_ATTRIBUTE
  watchdog: asm9260_wdt: make array mode_name static, shrinks object size
  watchdog/hpwdt: Update driver version.
  watchdog/hpwdt: Do not claim unsupported hardware
  watchdog/hpwdt: Exclude via blacklist
  Watchdog: remove outdated comment
  watchdog: w83627hf_wdt: Add quirk for Inves system
  watchdog: cpwd: add of_node_put()
  watchdog: renesas_wdt: don't set divider while watchdog is running
  ...
parents 57b0e314 e3c21e08
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ Required properties:
	"mediatek,mt6797-wdt", "mediatek,mt6589-wdt": for MT6797
	"mediatek,mt7622-wdt", "mediatek,mt6589-wdt": for MT7622
	"mediatek,mt7623-wdt", "mediatek,mt6589-wdt": for MT7623
	"mediatek,mt7629-wdt", "mediatek,mt6589-wdt": for MT7629

- reg : Specifies base physical address and size of the registers.

+28 −0
Original line number Diff line number Diff line
QCOM PM8916 watchdog timer controller

This pm8916 watchdog timer controller must be under pm8916-pon node.

Required properties:
- compatible: should be "qcom,pm8916-wdt"

Optional properties :
- interrupts : Watchdog pre-timeout (bark) interrupt.
- timeout-sec : Watchdog timeout value in seconds.

Example:

	pm8916_0: pm8916@0 {
		compatible = "qcom,pm8916", "qcom,spmi-pmic";
		reg = <0x0 SPMI_USID>;

		pon@800 {
			compatible = "qcom,pm8916-pon";
			reg = <0x800>;

			watchdog {
				compatible = "qcom,pm8916-wdt";
				interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
				timeout-sec = <10>;
			};
		};
	};
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ Required properties:
		 - "renesas,r8a7744-wdt" (RZ/G1N)
		 - "renesas,r8a7745-wdt" (RZ/G1E)
		 - "renesas,r8a774a1-wdt" (RZ/G2M)
		 - "renesas,r8a774c0-wdt" (RZ/G2E)
	         - "renesas,r8a7790-wdt" (R-Car H2)
	         - "renesas,r8a7791-wdt" (R-Car M2-W)
	         - "renesas,r8a7792-wdt" (R-Car V2H)
+0 −4
Original line number Diff line number Diff line
@@ -128,8 +128,6 @@ struct watchdog_ops {
	int (*set_pretimeout)(struct watchdog_device *, unsigned int);
	unsigned int (*get_timeleft)(struct watchdog_device *);
	int (*restart)(struct watchdog_device *);
	void (*ref)(struct watchdog_device *) __deprecated;
	void (*unref)(struct watchdog_device *) __deprecated;
	long (*ioctl)(struct watchdog_device *, unsigned int, unsigned long);
};

@@ -218,8 +216,6 @@ they are supported. These optional routines/operations are:
  if a command is not supported. The parameters that are passed to the ioctl
  call are: watchdog_device, cmd and arg.

The 'ref' and 'unref' operations are no longer used and deprecated.

The status bits should (preferably) be set with the set_bit and clear_bit alike
bit-operations. The status bits that are defined are:
* WDOG_ACTIVE: this status bit indicates whether or not a watchdog timer device
+19 −0
Original line number Diff line number Diff line
The Linux WatchDog Timer Power Management Guide
===============================================
Last reviewed: 17-Dec-2018

Wolfram Sang <wsa+renesas@sang-engineering.com>

Introduction
------------
This document states rules about watchdog devices and their power management
handling to ensure a uniform behaviour for Linux systems.


Ping on resume
--------------
On resume, a watchdog timer shall be reset to its selected value to give
userspace enough time to resume. [1] [2]

[1] https://patchwork.kernel.org/patch/10252209/
[2] https://patchwork.kernel.org/patch/10711625/
Loading