static int jz4740_wdt_start(struct watchdog_device *wdt_dev) { jz4740_timer_enable_watchdog(); jz4740_wdt_set_timeout(wdt_dev, wdt_dev->timeout); return 0; }
static void jz4740_restart(char *command) { void __iomem *wdt_base = ioremap(JZ4740_WDT_BASE_ADDR, 0x0f); jz4740_timer_enable_watchdog(); writeb(0, wdt_base + JZ_REG_WDT_COUNTER_ENABLE); writew(0, wdt_base + JZ_REG_WDT_COUNTER); writew(0, wdt_base + JZ_REG_WDT_DATA); writew(BIT(2), wdt_base + JZ_REG_WDT_CTRL); writeb(1, wdt_base + JZ_REG_WDT_COUNTER_ENABLE); jz4740_halt(); }
static void jz4740_wdt_enable(void) { jz4740_timer_enable_watchdog(); jz4740_wdt_set_heartbeat(heartbeat); }