Thread (14 messages) 14 messages, 3 authors, 2016-02-28

[PATCH v12 4/4] Watchdog: introduce ARM SBSA watchdog driver

From: Fu Wei <hidden>
Date: 2016-02-16 15:54:13
Also in: linux-devicetree, linux-watchdog, lkml

On 16 February 2016 at 23:29, Guenter Roeck [off-list ref] wrote:
On 02/16/2016 12:36 AM, fu.wei at linaro.org wrote:
quoted
From: Fu Wei <redacted>

According to Server Base System Architecture (SBSA) specification,
the SBSA Generic Watchdog has two stage timeouts: the first signal (WS0)
is for alerting the system by interrupt, the second one (WS1) is a real
hardware reset.
More details about the hardware specification of this device:
ARM DEN0029B - Server Base System Architecture (SBSA)

This driver can operate ARM SBSA Generic Watchdog as a single stage
watchdog
or a two stages watchdog, it's set up by the module parameter "action".
In the single stage mode, when the timeout is reached, your system
will be reset by WS1. The first signal (WS0) is ignored.
In the two stages mode, when the timeout is reached, the first signal
(WS0)
will trigger panic. If the system is getting into trouble and cannot be
reset
by panic or restart properly by the kdump kernel(if supported), then the
second stage (as long as the first stage) will be reached, system will be
reset by WS1. This function can help administrator to backup the system
context info by panic console output or kdump.

This driver bases on linux kernel watchdog framework, so it can get
timeout from module parameter and FDT at the driver init stage.

Signed-off-by: Fu Wei <redacted>
Reviewed-by: Graeme Gregory <redacted>
Tested-by: Pratyush Anand <redacted>
Acked-by: Timur Tabi <redacted>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
  drivers/watchdog/Kconfig     |  20 +++
  drivers/watchdog/Makefile    |   1 +
  drivers/watchdog/sbsa_gwdt.c | 403
+++++++++++++++++++++++++++++++++++++++++++
  3 files changed, 424 insertions(+)
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 0f6d851..ed9a5cb 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig

[ ... ]
quoted
+
+static int sbsa_gwdt_probe(struct platform_device *pdev)
+{

[ ... ]
quoted
+               if (!action)
+                       dev_warn(dev, "falling back to signle stage
mode.\n");

Still:

s/signle/single/
sorry, my bad, will fix it
[ ... ]
quoted
+
+MODULE_DESCRIPTION("SBSA Generic Watchdog Driver");
+MODULE_AUTHOR("Fu Wei [off-list ref]");
+MODULE_AUTHOR("Suravee Suthikulpanit [off-list ref]");
+MODULE_AUTHOR("Al Stone [off-list ref]");
+MODULE_AUTHOR("Timur Tabi [off-list ref]");
+MODULE_LICENSE("GPL v2");
Do you need a MODULE_ALIAS ?
For now, I thinks we don't need it, Hope I didn't miss something :-)
Because this module can be mounted automatically with dtb or ACPI(if
apply my GTDT patch).
Do you have any suggestion or concern? :-)
Guenter


-- 
Best regards,

Fu Wei
Software Engineer
Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch
Ph: +86 21 61221326(direct)
Ph: +86 186 2020 4684 (mobile)
Room 1512, Regus One Corporate Avenue,Level 15,
One Corporate Avenue,222 Hubin Road,Huangpu District,
Shanghai,China 200021
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help