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

Fu Wei fu.wei at linaro.org
Tue Feb 16 07:54:04 PST 2016


On 16 February 2016 at 23:29, Guenter Roeck <linux at roeck-us.net> wrote:
> On 02/16/2016 12:36 AM, fu.wei at linaro.org wrote:
>>
>> From: Fu Wei <fu.wei at linaro.org>
>>
>> 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 <fu.wei at linaro.org>
>> Reviewed-by: Graeme Gregory <graeme.gregory at linaro.org>
>> Tested-by: Pratyush Anand <panand at redhat.com>
>> Acked-by: Timur Tabi <timur at codeaurora.org>
>> Reviewed-by: Mathieu Poirier <mathieu.poirier at 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
>
>
> [ ... ]
>
>> +
>> +static int sbsa_gwdt_probe(struct platform_device *pdev)
>> +{
>
>
> [ ... ]
>
>> +               if (!action)
>> +                       dev_warn(dev, "falling back to signle stage
>> mode.\n");
>
>
> Still:
>
> s/signle/single/

sorry, my bad, will fix it

>
> [ ... ]
>
>> +
>> +MODULE_DESCRIPTION("SBSA Generic Watchdog Driver");
>> +MODULE_AUTHOR("Fu Wei <fu.wei at linaro.org>");
>> +MODULE_AUTHOR("Suravee Suthikulpanit <Suravee.Suthikulpanit at amd.com>");
>> +MODULE_AUTHOR("Al Stone <al.stone at linaro.org>");
>> +MODULE_AUTHOR("Timur Tabi <timur at codeaurora.org>");
>> +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



More information about the linux-arm-kernel mailing list