* [PATCH v2] watchdog: imx_sc_wdt: fix pretimeout
@ 2021-04-06 12:12 eichest
2021-04-06 13:41 ` Guenter Roeck
0 siblings, 1 reply; 2+ messages in thread
From: eichest @ 2021-04-06 12:12 UTC (permalink / raw)
To: linux-watchdog
Cc: Wim Van Sebroeck, Guenter Roeck, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
Stefan Eichenberger, Ahmad Fatoum
From: Stefan Eichenberger <eichest@gmail.com>
If the WDIOF_PRETIMEOUT flag is not set when registering the device the
driver will not show the sysfs entries or register the default governor.
By moving the registering after the decision whether pretimeout is
supported this gets fixed.
Signed-off-by: Stefan Eichenberger <eichest@gmail.com>
---
drivers/watchdog/imx_sc_wdt.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/watchdog/imx_sc_wdt.c b/drivers/watchdog/imx_sc_wdt.c
index e9ee22a7cb45..8ac021748d16 100644
--- a/drivers/watchdog/imx_sc_wdt.c
+++ b/drivers/watchdog/imx_sc_wdt.c
@@ -183,16 +183,12 @@ static int imx_sc_wdt_probe(struct platform_device *pdev)
watchdog_stop_on_reboot(wdog);
watchdog_stop_on_unregister(wdog);
- ret = devm_watchdog_register_device(dev, wdog);
- if (ret)
- return ret;
-
ret = imx_scu_irq_group_enable(SC_IRQ_GROUP_WDOG,
SC_IRQ_WDOG,
true);
if (ret) {
dev_warn(dev, "Enable irq failed, pretimeout NOT supported\n");
- return 0;
+ goto register_device;
}
imx_sc_wdd->wdt_notifier.notifier_call = imx_sc_wdt_notify;
@@ -203,7 +199,7 @@ static int imx_sc_wdt_probe(struct platform_device *pdev)
false);
dev_warn(dev,
"Register irq notifier failed, pretimeout NOT supported\n");
- return 0;
+ goto register_device;
}
ret = devm_add_action_or_reset(dev, imx_sc_wdt_action,
@@ -213,7 +209,8 @@ static int imx_sc_wdt_probe(struct platform_device *pdev)
else
dev_warn(dev, "Add action failed, pretimeout NOT supported\n");
- return 0;
+register_device:
+ return devm_watchdog_register_device(dev, wdog);
}
static int __maybe_unused imx_sc_wdt_suspend(struct device *dev)
--
2.27.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] watchdog: imx_sc_wdt: fix pretimeout
2021-04-06 12:12 [PATCH v2] watchdog: imx_sc_wdt: fix pretimeout eichest
@ 2021-04-06 13:41 ` Guenter Roeck
0 siblings, 0 replies; 2+ messages in thread
From: Guenter Roeck @ 2021-04-06 13:41 UTC (permalink / raw)
To: eichest, linux-watchdog
Cc: Wim Van Sebroeck, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
Ahmad Fatoum
On 4/6/21 5:12 AM, eichest@gmail.com wrote:
> From: Stefan Eichenberger <eichest@gmail.com>
>
> If the WDIOF_PRETIMEOUT flag is not set when registering the device the
> driver will not show the sysfs entries or register the default governor.
> By moving the registering after the decision whether pretimeout is
> supported this gets fixed.
>
> Signed-off-by: Stefan Eichenberger <eichest@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> ---
> drivers/watchdog/imx_sc_wdt.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/watchdog/imx_sc_wdt.c b/drivers/watchdog/imx_sc_wdt.c
> index e9ee22a7cb45..8ac021748d16 100644
> --- a/drivers/watchdog/imx_sc_wdt.c
> +++ b/drivers/watchdog/imx_sc_wdt.c
> @@ -183,16 +183,12 @@ static int imx_sc_wdt_probe(struct platform_device *pdev)
> watchdog_stop_on_reboot(wdog);
> watchdog_stop_on_unregister(wdog);
>
> - ret = devm_watchdog_register_device(dev, wdog);
> - if (ret)
> - return ret;
> -
> ret = imx_scu_irq_group_enable(SC_IRQ_GROUP_WDOG,
> SC_IRQ_WDOG,
> true);
> if (ret) {
> dev_warn(dev, "Enable irq failed, pretimeout NOT supported\n");
> - return 0;
> + goto register_device;
> }
>
> imx_sc_wdd->wdt_notifier.notifier_call = imx_sc_wdt_notify;
> @@ -203,7 +199,7 @@ static int imx_sc_wdt_probe(struct platform_device *pdev)
> false);
> dev_warn(dev,
> "Register irq notifier failed, pretimeout NOT supported\n");
> - return 0;
> + goto register_device;
> }
>
> ret = devm_add_action_or_reset(dev, imx_sc_wdt_action,
> @@ -213,7 +209,8 @@ static int imx_sc_wdt_probe(struct platform_device *pdev)
> else
> dev_warn(dev, "Add action failed, pretimeout NOT supported\n");
>
> - return 0;
> +register_device:
> + return devm_watchdog_register_device(dev, wdog);
> }
>
> static int __maybe_unused imx_sc_wdt_suspend(struct device *dev)
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-04-06 13:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-06 12:12 [PATCH v2] watchdog: imx_sc_wdt: fix pretimeout eichest
2021-04-06 13:41 ` Guenter Roeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).