watchdog: imx7ulp: Pass the wdog instance inimx7ulp_wdt_enable()
authorFabio Estevam <festevam@gmail.com>
Tue, 29 Oct 2019 17:40:34 +0000 (14:40 -0300)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Mon, 18 Nov 2019 18:53:41 +0000 (19:53 +0100)
It is more natural to pass the watchdog instance inside
imx7ulp_wdt_enable() instead of the base address.

This also has the benefit to reduce the code a bit.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191029174037.25381-2-festevam@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/imx7ulp_wdt.c

index 5ce5102..a80d863 100644 (file)
@@ -47,15 +47,17 @@ struct imx7ulp_wdt_device {
        struct clk *clk;
 };
 
-static inline void imx7ulp_wdt_enable(void __iomem *base, bool enable)
+static inline void imx7ulp_wdt_enable(struct watchdog_device *wdog, bool enable)
 {
-       u32 val = readl(base + WDOG_CS);
+       struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog);
 
-       writel(UNLOCK, base + WDOG_CNT);
+       u32 val = readl(wdt->base + WDOG_CS);
+
+       writel(UNLOCK, wdt->base + WDOG_CNT);
        if (enable)
-               writel(val | WDOG_CS_EN, base + WDOG_CS);
+               writel(val | WDOG_CS_EN, wdt->base + WDOG_CS);
        else
-               writel(val & ~WDOG_CS_EN, base + WDOG_CS);
+               writel(val & ~WDOG_CS_EN, wdt->base + WDOG_CS);
 }
 
 static inline bool imx7ulp_wdt_is_enabled(void __iomem *base)
@@ -76,18 +78,15 @@ static int imx7ulp_wdt_ping(struct watchdog_device *wdog)
 
 static int imx7ulp_wdt_start(struct watchdog_device *wdog)
 {
-       struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog);
 
-       imx7ulp_wdt_enable(wdt->base, true);
+       imx7ulp_wdt_enable(wdog, true);
 
        return 0;
 }
 
 static int imx7ulp_wdt_stop(struct watchdog_device *wdog)
 {
-       struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog);
-
-       imx7ulp_wdt_enable(wdt->base, false);
+       imx7ulp_wdt_enable(wdog, false);
 
        return 0;
 }