static int gpio_wdt_stop(struct watchdog_device *wdd) { struct gpio_wdt_priv *priv = watchdog_get_drvdata(wdd); mod_timer(&priv->timer, 0); gpio_wdt_disable(priv); return 0; }
static int gpio_wdt_stop(struct watchdog_device *wdd) { struct gpio_wdt_priv *priv = watchdog_get_drvdata(wdd); priv->armed = false; if (!priv->always_running) { mod_timer(&priv->timer, 0); gpio_wdt_disable(priv); } return 0; }
static int gpio_wdt_notify_sys(struct notifier_block *nb, unsigned long code, void *unused) { struct gpio_wdt_priv *priv = container_of(nb, struct gpio_wdt_priv, notifier); mod_timer(&priv->timer, 0); switch (code) { case SYS_HALT: case SYS_POWER_OFF: gpio_wdt_disable(priv); break; default: break; } return NOTIFY_DONE; }