Lines Matching refs:wdev
35 struct watchdog_device wdev; member
39 static int pm8916_wdt_start(struct watchdog_device *wdev) in pm8916_wdt_start() argument
41 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_start()
48 static int pm8916_wdt_stop(struct watchdog_device *wdev) in pm8916_wdt_stop() argument
50 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_stop()
57 static int pm8916_wdt_ping(struct watchdog_device *wdev) in pm8916_wdt_ping() argument
59 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_ping()
66 static int pm8916_wdt_configure_timers(struct watchdog_device *wdev) in pm8916_wdt_configure_timers() argument
68 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_configure_timers()
73 wdev->timeout - wdev->pretimeout); in pm8916_wdt_configure_timers()
79 wdev->pretimeout); in pm8916_wdt_configure_timers()
82 static int pm8916_wdt_set_timeout(struct watchdog_device *wdev, in pm8916_wdt_set_timeout() argument
85 wdev->timeout = timeout; in pm8916_wdt_set_timeout()
87 return pm8916_wdt_configure_timers(wdev); in pm8916_wdt_set_timeout()
90 static int pm8916_wdt_set_pretimeout(struct watchdog_device *wdev, in pm8916_wdt_set_pretimeout() argument
93 wdev->pretimeout = pretimeout; in pm8916_wdt_set_pretimeout()
95 return pm8916_wdt_configure_timers(wdev); in pm8916_wdt_set_pretimeout()
108 watchdog_notify_pretimeout(&wdt->wdev); in pm8916_wdt_isr()
171 wdt->wdev.info = &pm8916_wdt_pt_ident; in pm8916_wdt_probe()
176 wdt->wdev.info = &pm8916_wdt_ident; in pm8916_wdt_probe()
188 wdt->wdev.ops = &pm8916_wdt_ops, in pm8916_wdt_probe()
189 wdt->wdev.parent = dev; in pm8916_wdt_probe()
190 wdt->wdev.min_timeout = PM8916_WDT_MIN_TIMEOUT; in pm8916_wdt_probe()
191 wdt->wdev.max_timeout = PM8916_WDT_MAX_TIMEOUT; in pm8916_wdt_probe()
192 wdt->wdev.timeout = PM8916_WDT_DEFAULT_TIMEOUT; in pm8916_wdt_probe()
193 wdt->wdev.pretimeout = 0; in pm8916_wdt_probe()
194 watchdog_set_drvdata(&wdt->wdev, wdt); in pm8916_wdt_probe()
197 watchdog_init_timeout(&wdt->wdev, 0, dev); in pm8916_wdt_probe()
198 pm8916_wdt_configure_timers(&wdt->wdev); in pm8916_wdt_probe()
200 return devm_watchdog_register_device(dev, &wdt->wdev); in pm8916_wdt_probe()
207 if (watchdog_active(&wdt->wdev)) in pm8916_wdt_suspend()
208 return pm8916_wdt_stop(&wdt->wdev); in pm8916_wdt_suspend()
217 if (watchdog_active(&wdt->wdev)) in pm8916_wdt_resume()
218 return pm8916_wdt_start(&wdt->wdev); in pm8916_wdt_resume()