From: Will Deacon <will.deacon@arm.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: "linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Wim Van Sebroeck <wim@iguana.be>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Arnd Bergmann <arnd@arndb.de>,
Russell King <linux@arm.linux.org.uk>,
Jonas Jensen <jonas.jensen@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH 1/5] watchdog: Add API to trigger reboots
Date: Fri, 2 May 2014 11:01:05 +0100 [thread overview]
Message-ID: <20140502100105.GC17370@arm.com> (raw)
In-Reply-To: <1398958893-30049-2-git-send-email-linux@roeck-us.net>
Hi Guenter,
This looks pretty sensible to me (and the arm/arm64 bits look fine too), but
I have one question below...
On Thu, May 01, 2014 at 04:41:29PM +0100, Guenter Roeck wrote:
> Some hardware implements reboot through its watchdog hardware,
> for example by triggering a watchdog timeout. Platform specific
> code starts to spread into watchdog drivers, typically by setting
> pointers to a callback functions which is then called from the
> platform reset handler.
>
> To simplify code and provide a unified API to trigger reboots by
> watchdog drivers, provide a single API to trigger such reboots
> through the watchdog subsystem.
>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> drivers/watchdog/watchdog_core.c | 17 +++++++++++++++++
> include/linux/watchdog.h | 11 +++++++++++
> 2 files changed, 28 insertions(+)
>
> diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c
> index cec9b55..4ec6e2f 100644
> --- a/drivers/watchdog/watchdog_core.c
> +++ b/drivers/watchdog/watchdog_core.c
> @@ -43,6 +43,17 @@
> static DEFINE_IDA(watchdog_ida);
> static struct class *watchdog_class;
>
> +static struct watchdog_device *wdd_reboot_dev;
> +
> +void watchdog_do_reboot(enum reboot_mode mode, const char *cmd)
> +{
> + if (wdd_reboot_dev) {
> + if (wdd_reboot_dev->ops->reboot)
> + wdd_reboot_dev->ops->reboot(wdd_reboot_dev, mode, cmd);
> + }
> +}
What reboot_mode values would you expect a watchdog to support other than
REBOOT_HARD? Also, is the cmd even useful here?
Will
WARNING: multiple messages have this Message-ID (diff)
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 1/5] watchdog: Add API to trigger reboots
Date: Fri, 2 May 2014 11:01:05 +0100 [thread overview]
Message-ID: <20140502100105.GC17370@arm.com> (raw)
In-Reply-To: <1398958893-30049-2-git-send-email-linux@roeck-us.net>
Hi Guenter,
This looks pretty sensible to me (and the arm/arm64 bits look fine too), but
I have one question below...
On Thu, May 01, 2014 at 04:41:29PM +0100, Guenter Roeck wrote:
> Some hardware implements reboot through its watchdog hardware,
> for example by triggering a watchdog timeout. Platform specific
> code starts to spread into watchdog drivers, typically by setting
> pointers to a callback functions which is then called from the
> platform reset handler.
>
> To simplify code and provide a unified API to trigger reboots by
> watchdog drivers, provide a single API to trigger such reboots
> through the watchdog subsystem.
>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> drivers/watchdog/watchdog_core.c | 17 +++++++++++++++++
> include/linux/watchdog.h | 11 +++++++++++
> 2 files changed, 28 insertions(+)
>
> diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c
> index cec9b55..4ec6e2f 100644
> --- a/drivers/watchdog/watchdog_core.c
> +++ b/drivers/watchdog/watchdog_core.c
> @@ -43,6 +43,17 @@
> static DEFINE_IDA(watchdog_ida);
> static struct class *watchdog_class;
>
> +static struct watchdog_device *wdd_reboot_dev;
> +
> +void watchdog_do_reboot(enum reboot_mode mode, const char *cmd)
> +{
> + if (wdd_reboot_dev) {
> + if (wdd_reboot_dev->ops->reboot)
> + wdd_reboot_dev->ops->reboot(wdd_reboot_dev, mode, cmd);
> + }
> +}
What reboot_mode values would you expect a watchdog to support other than
REBOOT_HARD? Also, is the cmd even useful here?
Will
next prev parent reply other threads:[~2014-05-02 10:01 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-01 15:41 [RFC PATCH 0/5] watchdog: Add reboot API Guenter Roeck
2014-05-01 15:41 ` Guenter Roeck
2014-05-01 15:41 ` [RFC PATCH 1/5] watchdog: Add API to trigger reboots Guenter Roeck
2014-05-01 15:41 ` Guenter Roeck
2014-05-02 10:01 ` Will Deacon [this message]
2014-05-02 10:01 ` Will Deacon
2014-05-02 13:22 ` Guenter Roeck
2014-05-02 13:22 ` Guenter Roeck
2014-05-03 1:22 ` Maxime Ripard
2014-05-03 1:22 ` Maxime Ripard
2014-05-03 4:29 ` Guenter Roeck
2014-05-03 4:29 ` Guenter Roeck
2014-05-05 4:27 ` Maxime Ripard
2014-05-05 4:27 ` Maxime Ripard
2014-05-07 11:52 ` Lucas Stach
2014-05-07 11:52 ` Lucas Stach
2014-05-07 13:01 ` Guenter Roeck
2014-05-07 13:01 ` Guenter Roeck
2014-05-07 15:49 ` Lucas Stach
2014-05-07 15:49 ` Lucas Stach
2014-05-07 19:15 ` Maxime Ripard
2014-05-07 19:15 ` Maxime Ripard
2014-05-05 18:36 ` Felipe Balbi
2014-05-05 18:36 ` Felipe Balbi
2014-05-05 19:45 ` Guenter Roeck
2014-05-05 19:45 ` Guenter Roeck
2014-05-01 15:41 ` [RFC PATCH 2/5] arm64: Support reboot through watchdog subsystem Guenter Roeck
2014-05-01 15:41 ` Guenter Roeck
2014-05-01 15:41 ` [RFC PATCH 3/5] arm: " Guenter Roeck
2014-05-01 15:41 ` Guenter Roeck
2014-05-01 15:41 ` [RFC PATCH 4/5] watchdog: moxart: Register reboot handler with " Guenter Roeck
2014-05-01 15:41 ` Guenter Roeck
2014-05-01 15:41 ` [RFC PATCH 5/5] watchdog: sunxi: " Guenter Roeck
2014-05-01 15:41 ` Guenter Roeck
2014-05-05 18:26 ` [RFC PATCH 0/5] watchdog: Add reboot API Arnd Bergmann
2014-05-05 18:26 ` Arnd Bergmann
2014-05-06 14:29 ` Jonas Jensen
2014-05-06 14:29 ` Jonas Jensen
2014-05-07 11:01 ` Heiko Stübner
2014-05-07 11:01 ` Heiko Stübner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140502100105.GC17370@arm.com \
--to=will.deacon@arm.com \
--cc=Catalin.Marinas@arm.com \
--cc=arnd@arndb.de \
--cc=jonas.jensen@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=linux@roeck-us.net \
--cc=maxime.ripard@free-electrons.com \
--cc=wim@iguana.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.