From 73f2bc1466e257dbe2a0edd7d3c2ab4dba8e9470 Mon Sep 17 00:00:00 2001 From: Tomaz Solc Date: Thu, 14 Feb 2019 14:36:34 +0100 Subject: watchdog: bcm2835: set timeout_max. BCM2835 watchdog timeout can be set to maximum 15 seconds (0xffffff >> 16). Signed-off-by: Sascha Hauer --- drivers/watchdog/bcm2835_wdt.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/watchdog/bcm2835_wdt.c b/drivers/watchdog/bcm2835_wdt.c index d0c51ed9e9..781626fa0f 100644 --- a/drivers/watchdog/bcm2835_wdt.c +++ b/drivers/watchdog/bcm2835_wdt.c @@ -45,6 +45,10 @@ #define SECS_TO_WDOG_TICKS(x) ((x) << 16) +/* Largest value where SECS_TO_WDOG_TICKS doesn't overflow 20 bits + * (PM_WDOG_TIME_SET) */ +#define WDOG_SECS_MAX 15 + struct bcm2835_wd { struct watchdog wd; void __iomem *base; @@ -101,6 +105,7 @@ static int bcm2835_wd_probe(struct device_d *dev) } priv->base = IOMEM(iores->start); priv->wd.set_timeout = bcm2835_wd_set_timeout; + priv->wd.timeout_max = WDOG_SECS_MAX; priv->wd.hwdev = dev; priv->dev = dev; -- cgit v1.2.3