linux-mips
[Top] [All Lists]

Re: [PATCH 3/7] watchdog: JZ4740: Register a restart handler

To: Paul Cercueil <paul@crapouillou.net>, Ralf Baechle <ralf@linux-mips.org>, Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Wim Van Sebroeck <wim@iguana.be>
Subject: Re: [PATCH 3/7] watchdog: JZ4740: Register a restart handler
From: Guenter Roeck <linux@roeck-us.net>
Date: Thu, 28 Dec 2017 10:40:53 -0800
Cc: devicetree@vger.kernel.org, linux-mips@linux-mips.org, linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=pgICEwAPE1vXbEW8DMnG+VRYEKNCB+wTLwxbGtTd7CI=; b=IOhGbS9C4JSpqKNRUmrZOiY8V5BkRGJdDngcDUuqYf0+lbhoyk3RWCrK3dePcKETPO 93RyDNTQsMZaO0cMtaThPXahNL9SZSDf+9A+2XltHbpw/P9UmKESKXxij72E5lErYJAa ZB1TEhADcdZQiryBBMu5D9aXlwJpzDCAi1MoavAfu141Zp7Pii6jsHlZKFi7q4UyghjV w2vgDEaF3CWmjrNhNYHfHtdRsOGQjyF/5G+UIhyK88Qt5+J3NwaocYJP4IhkkEhk5qf+ Fx/HlbZMeTO+qnKABguzqVf/nDOmjJd7R7HCTesqDvQ5hV1fbKmFRJJbonrhUciHgYl/ VYSg==
In-reply-to: <20171228162939.3928-4-paul@crapouillou.net>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20171228162939.3928-1-paul@crapouillou.net> <20171228162939.3928-4-paul@crapouillou.net>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0
On 12/28/2017 08:29 AM, Paul Cercueil wrote:
The watchdog driver can restart the system by simply configuring the
hardware for a timeout of 0 seconds.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

---
  drivers/watchdog/jz4740_wdt.c | 9 +++++++++
  1 file changed, 9 insertions(+)

diff --git a/drivers/watchdog/jz4740_wdt.c b/drivers/watchdog/jz4740_wdt.c
index 92d6ca8ceb49..fa7f49a3212c 100644
--- a/drivers/watchdog/jz4740_wdt.c
+++ b/drivers/watchdog/jz4740_wdt.c
@@ -130,6 +130,14 @@ static int jz4740_wdt_stop(struct watchdog_device *wdt_dev)
        return 0;
  }
+static int jz4740_wdt_restart(struct watchdog_device *wdt_dev,
+                             unsigned long action, void *data)
+{
+       wdt_dev->timeout = 0;
+       jz4740_wdt_start(wdt_dev);
+       return 0;
+}
+
  static const struct watchdog_info jz4740_wdt_info = {
        .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING | WDIOF_MAGICCLOSE,
        .identity = "jz4740 Watchdog",
@@ -141,6 +149,7 @@ static const struct watchdog_ops jz4740_wdt_ops = {
        .stop = jz4740_wdt_stop,
        .ping = jz4740_wdt_ping,
        .set_timeout = jz4740_wdt_set_timeout,
+       .restart = jz4740_wdt_restart,
  };
#ifdef CONFIG_OF



<Prev in Thread] Current Thread [Next in Thread>