2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 23:23:55 +08:00

watchdog: coh901327: make use of timeout-secs provided in devicetree

watchdog_init_timeout() will allways pick timeout_param since it
defaults to a valid timeout.

Following best practice described in
Documentation/watchdog/watchdog-kernel-api.txt to make use of
the parameter logic.

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
Marcus Folkesson 2018-02-11 21:08:47 +01:00 committed by Wim Van Sebroeck
parent 4590d62cb1
commit 321390d9bd

View File

@ -67,7 +67,9 @@
#define U300_WDOG_IFR_WILL_BARK_IRQ_FORCE_ENABLE 0x0001U #define U300_WDOG_IFR_WILL_BARK_IRQ_FORCE_ENABLE 0x0001U
/* Default timeout in seconds = 1 minute */ /* Default timeout in seconds = 1 minute */
static unsigned int margin = 60; #define U300_WDOG_DEFAULT_TIMEOUT 60
static unsigned int margin;
static int irq; static int irq;
static void __iomem *virtbase; static void __iomem *virtbase;
static struct device *parent; static struct device *parent;
@ -235,8 +237,9 @@ static struct watchdog_device coh901327_wdt = {
* timeout register is max * timeout register is max
* 0x7FFF = 327670ms ~= 327s. * 0x7FFF = 327670ms ~= 327s.
*/ */
.min_timeout = 0, .min_timeout = 1,
.max_timeout = 327, .max_timeout = 327,
.timeout = U300_WDOG_DEFAULT_TIMEOUT,
}; };
static int __exit coh901327_remove(struct platform_device *pdev) static int __exit coh901327_remove(struct platform_device *pdev)
@ -315,16 +318,15 @@ static int __init coh901327_probe(struct platform_device *pdev)
goto out_no_irq; goto out_no_irq;
} }
ret = watchdog_init_timeout(&coh901327_wdt, margin, dev); watchdog_init_timeout(&coh901327_wdt, margin, dev);
if (ret < 0)
coh901327_wdt.timeout = 60;
coh901327_wdt.parent = dev; coh901327_wdt.parent = dev;
ret = watchdog_register_device(&coh901327_wdt); ret = watchdog_register_device(&coh901327_wdt);
if (ret) if (ret)
goto out_no_wdog; goto out_no_wdog;
dev_info(dev, "initialized. timer margin=%d sec\n", margin); dev_info(dev, "initialized. (timeout=%d sec)\n",
coh901327_wdt.timeout);
return 0; return 0;
out_no_wdog: out_no_wdog: