2015-06-25 10:22:46

by Lars Poeschel

[permalink] [raw]
Subject: [PATCH v2] watchdog: omap_wdt: early_enable module parameter

From: Lars Poeschel <[email protected]>

Add a early_enable module parameter to the omap_wdt that starts the
watchdog on module insertion. The default value is 0 which does not
start the watchdog - which also does not change the behavior if the
parameter is not given.

Signed-off-by: Lars Poeschel <[email protected]>
---
Documentation/watchdog/watchdog-parameters.txt | 1 +
drivers/watchdog/omap_wdt.c | 8 ++++++++
2 files changed, 9 insertions(+)

diff --git a/Documentation/watchdog/watchdog-parameters.txt b/Documentation/watchdog/watchdog-parameters.txt
index 692791c..837a4e2 100644
--- a/Documentation/watchdog/watchdog-parameters.txt
+++ b/Documentation/watchdog/watchdog-parameters.txt
@@ -208,6 +208,7 @@ nowayout: Watchdog cannot be stopped once started
-------------------------------------------------
omap_wdt:
timer_margin: initial watchdog timeout (in seconds)
+early_enable: Watchdog is started on module insertion (default=0)
-------------------------------------------------
orion_wdt:
heartbeat: Initial watchdog heartbeat in seconds
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
index 1e6be9e..29c5f33 100644
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -53,6 +53,11 @@ static unsigned timer_margin;
module_param(timer_margin, uint, 0);
MODULE_PARM_DESC(timer_margin, "initial watchdog timeout (in seconds)");

+static bool early_enable;
+module_param(early_enable, bool, 0);
+MODULE_PARM_DESC(early_enable,
+ "Watchdog is started on module insertion (default=0)");
+
struct omap_wdt_dev {
void __iomem *base; /* physical */
struct device *dev;
@@ -269,6 +274,9 @@ static int omap_wdt_probe(struct platform_device *pdev)

pm_runtime_put_sync(wdev->dev);

+ if (early_enable)
+ omap_wdt_start(omap_wdt);
+
return 0;
}

--
2.1.4


2015-06-25 13:47:11

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH v2] watchdog: omap_wdt: early_enable module parameter

On 06/25/2015 03:21 AM, [email protected] wrote:
> From: Lars Poeschel <[email protected]>
>
> Add a early_enable module parameter to the omap_wdt that starts the
> watchdog on module insertion. The default value is 0 which does not
> start the watchdog - which also does not change the behavior if the
> parameter is not given.
>
> Signed-off-by: Lars Poeschel <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

2015-06-30 05:57:19

by Paul Gortmaker

[permalink] [raw]
Subject: Re: [PATCH v2] watchdog: omap_wdt: early_enable module parameter

On Thu, Jun 25, 2015 at 9:46 AM, Guenter Roeck <[email protected]> wrote:
> On 06/25/2015 03:21 AM, [email protected] wrote:
>>
>> From: Lars Poeschel <[email protected]>
>>
>> Add a early_enable module parameter to the omap_wdt that starts the
>> watchdog on module insertion. The default value is 0 which does not
>> start the watchdog - which also does not change the behavior if the
>> parameter is not given.
>>
>> Signed-off-by: Lars Poeschel <[email protected]>
>
>
> Reviewed-by: Guenter Roeck <[email protected]>

In case the info hasn't looped back around yet, this breaks the
omap builds in linux-next:

drivers/watchdog/omap_wdt.c:288:18: error: 'omap_wdt' undeclared
(first use in this function)

(Not sure how this could have ever worked as-is.)

http://kisskb.ellerman.id.au/kisskb/buildresult/12452335/

I see a patch has already been posted to arm-kernel but not
Cc'd to all originally involved so figured I'd mention it.

Paul.
--

>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2015-06-30 07:18:26

by Wim Van Sebroeck

[permalink] [raw]
Subject: Re: [PATCH v2] watchdog: omap_wdt: early_enable module parameter

Hi Paul,

> On Thu, Jun 25, 2015 at 9:46 AM, Guenter Roeck <[email protected]> wrote:
> > On 06/25/2015 03:21 AM, [email protected] wrote:
> >>
> >> From: Lars Poeschel <[email protected]>
> >>
> >> Add a early_enable module parameter to the omap_wdt that starts the
> >> watchdog on module insertion. The default value is 0 which does not
> >> start the watchdog - which also does not change the behavior if the
> >> parameter is not given.
> >>
> >> Signed-off-by: Lars Poeschel <[email protected]>
> >
> >
> > Reviewed-by: Guenter Roeck <[email protected]>
>
> In case the info hasn't looped back around yet, this breaks the
> omap builds in linux-next:
>
> drivers/watchdog/omap_wdt.c:288:18: error: 'omap_wdt' undeclared
> (first use in this function)
>
> (Not sure how this could have ever worked as-is.)
>
> http://kisskb.ellerman.id.au/kisskb/buildresult/12452335/
>
> I see a patch has already been posted to arm-kernel but not
> Cc'd to all originally involved so figured I'd mention it.

It's fixed. The reason why we din't catch it was because of interference
with 'watchdog: omap: put struct watchdog_device into driver data'.

Kind regards,
Wim.