diff --git a/drivers/watchdog/rk29_wdt.c b/drivers/watchdog/rk29_wdt.c index 5ed94e5c020d..4065372a3e94 100644 --- a/drivers/watchdog/rk29_wdt.c +++ b/drivers/watchdog/rk29_wdt.c @@ -32,7 +32,9 @@ #include #include #include +#ifndef CONFIG_ARM64 #include +#endif #ifdef CONFIG_OF #include #endif @@ -124,7 +126,17 @@ static char expect_close; printk(KERN_INFO msg); \ } while (0) -#define wdt_writel(v, offset) do { writel_relaxed(v, wdt_base + offset); dsb(); } while (0) +#ifdef CONFIG_ARM64 +#define wdt_writel(v, offset) do { \ + writel_relaxed(v, wdt_base + offset);\ + dsb(sy);\ + } while (0) +#else +#define wdt_writel(v, offset) do { \ + writel_relaxed(v, wdt_base + offset);\ + dsb();\ + } while (0) +#endif /* functions */ void rk29_wdt_keepalive(void)