Commit f804b315 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

Pull watchdog updates from Wim Van Sebroeck:

 - Add Toshiba Visconti watchdog driver

 - it87_wdt: add IT8772 + IT8784

 - several fixes and improvements

* tag 'linux-watchdog-5.10-rc1' of git://www.linux-watchdog.org/linux-watchdog:
  watchdog: Add Toshiba Visconti watchdog driver
  watchdog: bindings: Add binding documentation for Toshiba Visconti watchdog device
  watchdog: it87_wdt: add IT8784 ID
  watchdog: sp5100_tco: Enable watchdog on Family 17h devices if disabled
  watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3
  watchdog: renesas_wdt: support handover from bootloader
  watchdog: imx7ulp: Watchdog should continue running for wait/stop mode
  watchdog: rti: Simplify with dev_err_probe()
  watchdog: davinci: Simplify with dev_err_probe()
  watchdog: cadence: Simplify with dev_err_probe()
  watchdog: remove unneeded inclusion of <uapi/linux/sched/types.h>
  watchdog: Use put_device on error
  watchdog: Fix memleak in watchdog_cdev_register
  watchdog: imx7ulp: Strictly follow the sequence for wdog operations
  watchdog: it87_wdt: add IT8772 ID
  watchdog: pcwd_usb: Avoid GFP_ATOMIC where it is not needed
  drivers: watchdog: rdc321x_wdt: Fix race condition bugs
parents b7769c45 c5b8e464
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2020 Toshiba Electronic Devices & Storage Corporation
%YAML 1.2
---
$id: "http://devicetree.org/schemas/watchdog/toshiba,visconti-wdt.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Toshiba Visconti SoCs PIUWDT Watchdog timer

maintainers:
  - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>

allOf:
  - $ref: watchdog.yaml#

properties:
  compatible:
    enum:
      - toshiba,visconti-wdt

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  timeout-sec: true

required:
  - compatible
  - reg
  - clocks

additionalProperties: false

examples:
  - |
    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        wdt_clk: wdt-clk {
            compatible = "fixed-clock";
            clock-frequency = <150000000>;
            #clock-cells = <0>;
        };

        watchdog@28330000 {
            compatible = "toshiba,visconti-wdt";
            reg = <0 0x28330000 0 0x1000>;
            clocks = <&wdt_clk>;
            timeout-sec = <20>;
        };
    };
+8 −0
Original line number Diff line number Diff line
@@ -1015,6 +1015,14 @@ config PM8916_WATCHDOG
	  Say Y here to include support watchdog timer embedded into the
	  pm8916 module.

config VISCONTI_WATCHDOG
	tristate "Toshiba Visconti series watchdog support"
	depends on ARCH_VISCONTI || COMPILE_TEST
	select WATCHDOG_CORE
	help
	  Say Y here to include support for the watchdog timer in Toshiba
	  Visconti SoCs.

# X86 (i386 + ia64 + x86_64) Architecture

config ACQUIRE_WDT
+1 −0
Original line number Diff line number Diff line
@@ -95,6 +95,7 @@ obj-$(CONFIG_RTD119X_WATCHDOG) += rtd119x_wdt.o
obj-$(CONFIG_SPRD_WATCHDOG) += sprd_wdt.o
obj-$(CONFIG_PM8916_WATCHDOG) += pm8916_wdt.o
obj-$(CONFIG_ARM_SMC_WATCHDOG) += arm_smc_wdt.o
obj-$(CONFIG_VISCONTI_WATCHDOG) += visconti_wdt.o

# X86 (i386 + ia64 + x86_64) Architecture
obj-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o
+3 −6
Original line number Diff line number Diff line
@@ -334,12 +334,9 @@ static int cdns_wdt_probe(struct platform_device *pdev)
	watchdog_set_drvdata(cdns_wdt_device, wdt);

	wdt->clk = devm_clk_get(dev, NULL);
	if (IS_ERR(wdt->clk)) {
		ret = PTR_ERR(wdt->clk);
		if (ret != -EPROBE_DEFER)
			dev_err(dev, "input clock not found\n");
		return ret;
	}
	if (IS_ERR(wdt->clk))
		return dev_err_probe(dev, PTR_ERR(wdt->clk),
				     "input clock not found\n");

	ret = clk_prepare_enable(wdt->clk);
	if (ret) {
+3 −6
Original line number Diff line number Diff line
@@ -206,12 +206,9 @@ static int davinci_wdt_probe(struct platform_device *pdev)
		return -ENOMEM;

	davinci_wdt->clk = devm_clk_get(dev, NULL);

	if (IS_ERR(davinci_wdt->clk)) {
		if (PTR_ERR(davinci_wdt->clk) != -EPROBE_DEFER)
			dev_err(dev, "failed to get clock node\n");
		return PTR_ERR(davinci_wdt->clk);
	}
	if (IS_ERR(davinci_wdt->clk))
		return dev_err_probe(dev, PTR_ERR(davinci_wdt->clk),
				     "failed to get clock node\n");

	ret = clk_prepare_enable(davinci_wdt->clk);
	if (ret) {
Loading