Re: watchdog: davinci_wdt: add possibility to configure watchdog period

From: Michele Dionisio
Date: Mon Jul 16 2018 - 10:04:31 EST


I have done what are already done in:
omap_wdt.c with parameter timer_margin
softdog.c with parameter softMargin
...

the same feature is missing in davinci_wdt and I think is quite usefull.

if you NACK because I don't use watchdog_init_timeout I can rewrite
the code but I do that to reduce the number of changes done in one
commit
Il giorno lun 16 lug 2018 alle ore 15:31 Guenter Roeck
<linux@xxxxxxxxxxxx> ha scritto:
>
> On 07/16/2018 05:19 AM, michele.dionisio@xxxxxxxxx wrote:
> > From: Michele Dionisio <michele.dionisio@xxxxxxxxxxxxx>
> >
> > It is not possible to implement setting of watchdog period because it is
> > not possible to stop watchdog so it is nice to have possibility to
> > configure watchdog period at module loading.
> >
> > Signed-off-by: Michele Dionisio <michele.dionisio@xxxxxxxxx>
> >
> > diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
> > index 6c6594261cb7..5f95afa20fee 100644
> > --- a/drivers/watchdog/davinci_wdt.c
> > +++ b/drivers/watchdog/davinci_wdt.c
> > @@ -54,6 +54,10 @@
> > #define WDKEY_SEQ0 (0xa5c6 << 16)
> > #define WDKEY_SEQ1 (0xda7e << 16)
> >
> > +static unsigned int init_timeout;
> > +module_param(init_timeout, uint, 0);
> > +MODULE_PARM_DESC(init_timeout, "initial watchdog timeout (in seconds)");
> > +
> > static int heartbeat;
> >
> > /*
> > @@ -223,8 +227,10 @@ static int davinci_wdt_probe(struct platform_device *pdev)
> > wdd->ops = &davinci_wdt_ops;
> > wdd->min_timeout = 1;
> > wdd->max_timeout = MAX_HEARTBEAT;
> > - wdd->timeout = DEFAULT_HEARTBEAT;
> > - wdd->parent = &pdev->dev;
> > + if ((init_timeout >= 1) && (init_timeout <= MAX_HEARTBEAT))
> > + wdd->timeout = init_timeout;
> > + else
> > + wdd->timeout = DEFAULT_HEARTBEAT;
> >
> > watchdog_init_timeout(wdd, heartbeat, dev);
> >
>
> NACK. This is done with the 'heartbeat' module parameter already.
>
> Guenter
>
>