From: Lars-Peter Clausen <lars@metafoo.de>
To: Maarten ter Huurne <maarten@treewalker.org>,
Guenter Roeck <linux@roeck-us.net>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Wim Van Sebroeck <wim@iguana.be>,
Paul Burton <paul.burton@imgtec.com>,
Paul Cercueil <paul@crapouillou.net>,
linux-mips@linux-mips.org, linux-watchdog@vger.kernel.org
Subject: Re: [PATCH 3/3] MIPS: jz4740: Move reset code to the watchdog driver
Date: Sun, 11 Jan 2015 10:41:58 +0100 [thread overview]
Message-ID: <54B24566.5010109@metafoo.de> (raw)
In-Reply-To: <1766434.QjfqQROysC@hyperion>
On 01/11/2015 02:43 AM, Maarten ter Huurne wrote:
> On Saturday 10 January 2015 17:18:03 Guenter Roeck wrote:
>> On 01/10/2015 10:29 AM, Lars-Peter Clausen wrote:
>>> @@ -186,9 +208,20 @@ static int jz4740_wdt_probe(struct platform_device
>>> *pdev)>
>>> if (ret < 0)
>>> goto err_disable_clk;
>>>
>>> + drvdata->restart_handler.notifier_call = jz4740_wdt_restart;
>>> + drvdata->restart_handler.priority = 128;
>>> + ret = register_restart_handler(&drvdata->restart_handler);
>>> + if (ret) {
>>> + dev_err(&pdev->dev, "cannot register restart handler, %d\n",
>>> + ret);
>>> + goto err_unregister_watchdog;
>>
>> Are you sure you want to abort in this case ?
>> After all, the watchdog would still work.
>
> That raises a similar question: what about the opposite case, where the
> watchdog registration fails? If the resource acquisition part of the probe
> fails, neither the watchdog nor the restart functionality is going to work,
> but if the call to watchdog_register_device() fails, the restart handler
> would still work.
I think this is fine, if either the watchdog or the restart handler
registration fail then the system is probably already in a rather unusable
state.
But that got me thinking, maybe instead of having each watchdog driver
register and implement its own restart handler we should maybe add this as a
functionality to the watchdog framework. Something along the lines off.
watchdog_set_timeout(wdt, wdt->min_timeout);
watchdog_start(wdt);
mdelay(wdt->min_timeout * 2000);
- Lars
next prev parent reply other threads:[~2015-01-11 9:42 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-10 18:29 [PATCH 1/3] MIPS: Use do_kernel_restart() as the default restart handler Lars-Peter Clausen
2015-01-10 18:29 ` [PATCH 2/3] MIPS: qi_lb60: Register watchdog device Lars-Peter Clausen
2015-01-11 1:24 ` Guenter Roeck
2015-01-11 1:37 ` Maarten ter Huurne
2015-01-11 16:17 ` Guenter Roeck
2015-01-10 18:29 ` [PATCH 3/3] MIPS: jz4740: Move reset code to the watchdog driver Lars-Peter Clausen
2015-01-11 1:18 ` Guenter Roeck
2015-01-11 1:43 ` Maarten ter Huurne
2015-01-11 9:41 ` Lars-Peter Clausen [this message]
2015-01-11 16:16 ` Guenter Roeck
2015-01-10 20:08 ` [PATCH 1/3] MIPS: Use do_kernel_restart() as the default restart handler Måns Rullgård
2015-01-11 1:19 ` Guenter Roeck
2015-01-11 12:15 ` Måns Rullgård
2015-01-11 12:25 ` Lars-Peter Clausen
2015-01-11 12:30 ` Måns Rullgård
2015-01-11 12:41 ` Lars-Peter Clausen
2015-01-11 12:45 ` Måns Rullgård
2015-01-11 16:13 ` Guenter Roeck
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=54B24566.5010109@metafoo.de \
--to=lars@metafoo.de \
--cc=linux-mips@linux-mips.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=maarten@treewalker.org \
--cc=paul.burton@imgtec.com \
--cc=paul@crapouillou.net \
--cc=ralf@linux-mips.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox