Lines Matching refs:watchdog

3  * SVC Greybus "watchdog" driver.
27 struct gb_svc_watchdog *watchdog =
32 gb_svc_watchdog_disable(watchdog->svc);
35 gb_svc_watchdog_enable(watchdog->svc);
65 struct gb_svc_watchdog *watchdog;
69 watchdog = container_of(work, struct gb_svc_watchdog, work.work);
70 svc = watchdog->svc;
98 watchdog->enabled = false;
103 if (watchdog->enabled)
104 schedule_delayed_work(&watchdog->work, SVC_WATCHDOG_PERIOD);
109 struct gb_svc_watchdog *watchdog;
112 if (svc->watchdog)
115 watchdog = kmalloc(sizeof(*watchdog), GFP_KERNEL);
116 if (!watchdog)
119 watchdog->enabled = false;
120 watchdog->svc = svc;
121 INIT_DELAYED_WORK(&watchdog->work, do_work);
122 svc->watchdog = watchdog;
124 watchdog->pm_notifier.notifier_call = svc_watchdog_pm_notifier;
125 retval = register_pm_notifier(&watchdog->pm_notifier);
134 dev_err(&svc->dev, "error enabling watchdog (%d)\n", retval);
135 unregister_pm_notifier(&watchdog->pm_notifier);
141 svc->watchdog = NULL;
142 kfree(watchdog);
149 struct gb_svc_watchdog *watchdog = svc->watchdog;
151 if (!watchdog)
154 unregister_pm_notifier(&watchdog->pm_notifier);
156 svc->watchdog = NULL;
157 kfree(watchdog);
162 if (!svc || !svc->watchdog)
164 return svc->watchdog->enabled;
169 struct gb_svc_watchdog *watchdog;
171 if (!svc->watchdog)
174 watchdog = svc->watchdog;
175 if (watchdog->enabled)
178 watchdog->enabled = true;
179 schedule_delayed_work(&watchdog->work, SVC_WATCHDOG_PERIOD);
185 struct gb_svc_watchdog *watchdog;
187 if (!svc->watchdog)
190 watchdog = svc->watchdog;
191 if (!watchdog->enabled)
194 watchdog->enabled = false;
195 cancel_delayed_work_sync(&watchdog->work);