Commit 747d88a1 authored by Fabio Estevam's avatar Fabio Estevam Committed by Wim Van Sebroeck

watchdog: imx7ulp: Pass the wdog instance inimx7ulp_wdt_enable()

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: default avatarFabio Estevam <festevam@gmail.com>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191029174037.25381-2-festevam@gmail.comSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@linux-watchdog.org>
parent 4c0bfc03
...@@ -47,15 +47,17 @@ struct imx7ulp_wdt_device { ...@@ -47,15 +47,17 @@ struct imx7ulp_wdt_device {
struct clk *clk; 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) if (enable)
writel(val | WDOG_CS_EN, base + WDOG_CS); writel(val | WDOG_CS_EN, wdt->base + WDOG_CS);
else 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) static inline bool imx7ulp_wdt_is_enabled(void __iomem *base)
...@@ -76,18 +78,15 @@ static int imx7ulp_wdt_ping(struct watchdog_device *wdog) ...@@ -76,18 +78,15 @@ static int imx7ulp_wdt_ping(struct watchdog_device *wdog)
static int imx7ulp_wdt_start(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; return 0;
} }
static int imx7ulp_wdt_stop(struct watchdog_device *wdog) static int imx7ulp_wdt_stop(struct watchdog_device *wdog)
{ {
struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog); imx7ulp_wdt_enable(wdog, false);
imx7ulp_wdt_enable(wdt->base, false);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment