.. | .. |
---|
37 | 37 | * |
---|
38 | 38 | * The watchdog_ops structure contains a list of low-level operations |
---|
39 | 39 | * that control a watchdog device. It also contains the module that owns |
---|
40 | | - * these operations. The start and stop function are mandatory, all other |
---|
| 40 | + * these operations. The start function is mandatory, all other |
---|
41 | 41 | * functions are optional. |
---|
42 | 42 | */ |
---|
43 | 43 | struct watchdog_ops { |
---|
44 | 44 | struct module *owner; |
---|
45 | 45 | /* mandatory operations */ |
---|
46 | 46 | int (*start)(struct watchdog_device *); |
---|
47 | | - int (*stop)(struct watchdog_device *); |
---|
48 | 47 | /* optional operations */ |
---|
| 48 | + int (*stop)(struct watchdog_device *); |
---|
49 | 49 | int (*ping)(struct watchdog_device *); |
---|
50 | 50 | unsigned int (*status)(struct watchdog_device *); |
---|
51 | 51 | int (*set_timeout)(struct watchdog_device *, unsigned int); |
---|
.. | .. |
---|
90 | 90 | * |
---|
91 | 91 | * The driver-data field may not be accessed directly. It must be accessed |
---|
92 | 92 | * via the watchdog_set_drvdata and watchdog_get_drvdata helpers. |
---|
93 | | - * |
---|
94 | | - * The lock field is for watchdog core internal use only and should not be |
---|
95 | | - * touched. |
---|
96 | 93 | */ |
---|
97 | 94 | struct watchdog_device { |
---|
98 | 95 | int id; |
---|
.. | .. |
---|
213 | 210 | extern int watchdog_register_device(struct watchdog_device *); |
---|
214 | 211 | extern void watchdog_unregister_device(struct watchdog_device *); |
---|
215 | 212 | |
---|
| 213 | +int watchdog_set_last_hw_keepalive(struct watchdog_device *, unsigned int); |
---|
| 214 | + |
---|
216 | 215 | /* devres register variant */ |
---|
217 | 216 | int devm_watchdog_register_device(struct device *dev, struct watchdog_device *); |
---|
218 | 217 | |
---|