Message ID | 20210729072308.1908904-3-art@khadas.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | watchdog: meson_gxbb_wdt: add timeout parameter | expand |
On 7/29/21 12:23 AM, Artem Lapkin wrote: > Add timeout module parameter > > Signed-off-by: Artem Lapkin <art@khadas.com> > --- > drivers/watchdog/meson_gxbb_wdt.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/watchdog/meson_gxbb_wdt.c b/drivers/watchdog/meson_gxbb_wdt.c > index 5aebc3a09..3f3866878 100644 > --- a/drivers/watchdog/meson_gxbb_wdt.c > +++ b/drivers/watchdog/meson_gxbb_wdt.c > @@ -34,6 +34,11 @@ module_param(nowayout, bool, 0); > MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started default=" > __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); > > +static unsigned int timeout = DEFAULT_TIMEOUT; DEFAULT_TIMEOUT is already set below. The default for the module parameter should be 0. This way the watchdog core takes the value from devicetree unless a module parameter is provided. Guenter > +module_param(timeout, uint, 0); > +MODULE_PARM_DESC(timeout, "Watchdog heartbeat in seconds=" > + __MODULE_STRING(DEFAULT_TIMEOUT) ")"); > + > struct meson_gxbb_wdt { > void __iomem *reg_base; > struct watchdog_device wdt_dev; > @@ -180,6 +185,7 @@ static int meson_gxbb_wdt_probe(struct platform_device *pdev) > data->wdt_dev.max_hw_heartbeat_ms = GXBB_WDT_TCNT_SETUP_MASK; > data->wdt_dev.min_timeout = 1; > data->wdt_dev.timeout = DEFAULT_TIMEOUT; > + watchdog_init_timeout(&data->wdt_dev, timeout, dev); > watchdog_set_nowayout(&data->wdt_dev, nowayout); > watchdog_set_drvdata(&data->wdt_dev, data); > >
diff --git a/drivers/watchdog/meson_gxbb_wdt.c b/drivers/watchdog/meson_gxbb_wdt.c index 5aebc3a09..3f3866878 100644 --- a/drivers/watchdog/meson_gxbb_wdt.c +++ b/drivers/watchdog/meson_gxbb_wdt.c @@ -34,6 +34,11 @@ module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); +static unsigned int timeout = DEFAULT_TIMEOUT; +module_param(timeout, uint, 0); +MODULE_PARM_DESC(timeout, "Watchdog heartbeat in seconds=" + __MODULE_STRING(DEFAULT_TIMEOUT) ")"); + struct meson_gxbb_wdt { void __iomem *reg_base; struct watchdog_device wdt_dev; @@ -180,6 +185,7 @@ static int meson_gxbb_wdt_probe(struct platform_device *pdev) data->wdt_dev.max_hw_heartbeat_ms = GXBB_WDT_TCNT_SETUP_MASK; data->wdt_dev.min_timeout = 1; data->wdt_dev.timeout = DEFAULT_TIMEOUT; + watchdog_init_timeout(&data->wdt_dev, timeout, dev); watchdog_set_nowayout(&data->wdt_dev, nowayout); watchdog_set_drvdata(&data->wdt_dev, data);
Add timeout module parameter Signed-off-by: Artem Lapkin <art@khadas.com> --- drivers/watchdog/meson_gxbb_wdt.c | 6 ++++++ 1 file changed, 6 insertions(+)