From: linux@roeck-us.net (Guenter Roeck)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/6] watchdog: Add reboot API
Date: Thu, 15 May 2014 13:38:18 -0700 [thread overview]
Message-ID: <1400186304-1691-1-git-send-email-linux@roeck-us.net> (raw)
Some hardware implements reboot through its watchdog hardware, for example
by triggering a watchdog timeout or by writing into its watchdog register
set. Platform specific code starts to spread into watchdog drivers,
typically by setting pointers to a callback function which is then called
from the architecture's reset handler.
While global and exported callback function pointers (such as arm_pm_restart)
may be acceptable as long as they are used from platform and/or architecture
code, using such a mechanism across subsystems and drivers is less than
desirable. Ultimately, we'll need a better solution.
This patch series provides such a solution. It extends the watchdog
subsystem to support reboot functionality, provides an API function
call to trigger reboots, adds support for the new API to arm and arm64,
and converts the drivers providing reboot functionality to use the new
infrastructure.
The first patch in the series implements the new API. The second patch
documents it. The third and fourth patch modify the arm and arm64
architecture reset handlers to call the added API function. The final
two patches register the reboot handlers in the sunxi and moxart watchdog
drivers with the watchdog subsystem.
The sunxi patch depends on the most recent patch series sumitted by
Maxime Ripard.
Note that I did not address the comments asking for support of multiple
watchdogs with reset handlers, nor the request to add a flag to provide
'preferential' treatment for one of those watchdogs. This will require
additional discussion and needs to be addressed with a later patch if needed.
Key questions are how to add such support for non-DT systems, and if the
scope of restart handling is a function of the driver or of the system.
Also, if one of the watchdogs does not result in a complete system reset
but another one does, it is not clear to me why the less-than-perfect
watchdog would be configured in the first place (or how this situation
would be handled today).
Compile tested only for arm64. Tested on arm/moxart by Jonas Jensen.
next reply other threads:[~2014-05-15 20:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-15 20:38 Guenter Roeck [this message]
2014-05-15 20:38 ` [PATCH v3 1/6] watchdog: Add API to trigger reboots Guenter Roeck
2014-05-15 20:50 ` One Thousand Gnomes
2014-05-15 21:47 ` Guenter Roeck
2014-05-16 1:22 ` [PATCH v4 " Guenter Roeck
2014-05-15 20:38 ` [PATCH v3 2/6] watchdog: Document reboot API Guenter Roeck
2014-05-15 20:38 ` [PATCH v3 3/6] arm64: Support reboot through watchdog subsystem Guenter Roeck
2014-05-15 20:38 ` [PATCH v3 4/6] arm: " Guenter Roeck
2014-05-15 20:38 ` [PATCH v3 5/6] watchdog: moxart: Register reboot handler with " Guenter Roeck
2014-05-15 20:38 ` [PATCH v3 6/6] watchdog: sunxi: " 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=1400186304-1691-1-git-send-email-linux@roeck-us.net \
--to=linux@roeck-us.net \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).