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

Fu Wei fu.wei at linaro.org
Tue Feb 16 08:33:24 PST 2016


On 16 February 2016 at 23:54, Fu Wei <fu.wei at linaro.org> wrote:
> 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? :-)

re-think  about that , will add
MODULE_ALIAS("platform:sbsa-gwdt");

Do you agree ?  :-)

>
>>
>> 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



-- 
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