It contains following fields: * name: a pointer to the (preferably unique) name of the watchdog timer device.+* info: a pointer to a watchdog_info structure. This structure gives some+ additional information about the watchdog timer itself. * ops: a pointer to the list of watchdog operations that the watchdog supports.+* bootstatus: status of the device after booting (reported with watchdog+ WDIOF_* status bits). * status: this field contains a number of status bits that give extra information about the status of the device (Like: is the device opened via the /dev/watchdog interface or not, ...)@@ -59,6 +65,7 @@ struct watchdog_ops { int (*stop)(struct watchdog_device *); /* optional operations */ int (*ping)(struct watchdog_device *);+ int (*status)(struct watchdog_device *); };

Some operations are mandatory and some are optional. The mandatory operations@@ -89,6 +96,8 @@ they are supported. These optional routines/operations are: the watchdog timer driver core does: to send a keepalive ping to the watchdog timer hardware it will either use the ping operation (when available) or the start operation (when the ping operation is not available).+* status: this routine checks the status of the watchdog timer device. The+ status of the device is reported with watchdog WDIOF_* status flags/bits.