From: Guenter Roeck <linux@roeck-us.net>
To: Will Deacon <will.deacon@arm.com>
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, 02 May 2014 06:22:36 -0700 [thread overview]
Message-ID: <53639C1C.8050701@roeck-us.net> (raw)
In-Reply-To: <20140502100105.GC17370@arm.com>
On 05/02/2014 03:01 AM, Will Deacon wrote:
> 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?
>
Answer is "I don't know" in both cases. I thought about dropping the parameters,
but then I thought it does not hurt to have them around either. I am open to
suggestions and to dropping the parameters if everyone agrees that they are
useless.
Guenter
WARNING: multiple messages have this Message-ID (diff)
From: linux@roeck-us.net (Guenter Roeck)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 1/5] watchdog: Add API to trigger reboots
Date: Fri, 02 May 2014 06:22:36 -0700 [thread overview]
Message-ID: <53639C1C.8050701@roeck-us.net> (raw)
In-Reply-To: <20140502100105.GC17370@arm.com>
On 05/02/2014 03:01 AM, Will Deacon wrote:
> 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?
>
Answer is "I don't know" in both cases. I thought about dropping the parameters,
but then I thought it does not hurt to have them around either. I am open to
suggestions and to dropping the parameters if everyone agrees that they are
useless.
Guenter
next prev parent reply other threads:[~2014-05-02 13:22 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
2014-05-02 10:01 ` Will Deacon
2014-05-02 13:22 ` Guenter Roeck [this message]
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=53639C1C.8050701@roeck-us.net \
--to=linux@roeck-us.net \
--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=maxime.ripard@free-electrons.com \
--cc=will.deacon@arm.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.