diff options
author | Wim Van Sebroeck <wim@iguana.be> | 2011-07-22 14:56:38 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2011-07-28 04:01:05 -0400 |
commit | 2fa03560ab3a6dd83cad9bfd5692179fc2ceabb3 (patch) | |
tree | b208649368917b6c8d16c5cc737b2b83e906d074 /include | |
parent | 43316044d4f64da008d6aca7d4b60771b9a24eb8 (diff) |
watchdog: WatchDog Timer Driver Core - Add basic ioctl functionality
This part add's the basic ioctl functionality to the
WatchDog Timer Driver Core framework. The supported
ioctl call's are:
WDIOC_GETSUPPORT
WDIOC_GETSTATUS
WDIOC_GETBOOTSTATUS
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/watchdog.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/watchdog.h b/include/linux/watchdog.h index 5ab31bfd2906..29ff80807dd4 100644 --- a/include/linux/watchdog.h +++ b/include/linux/watchdog.h | |||
@@ -68,6 +68,7 @@ struct watchdog_device; | |||
68 | * @start: The routine for starting the watchdog device. | 68 | * @start: The routine for starting the watchdog device. |
69 | * @stop: The routine for stopping the watchdog device. | 69 | * @stop: The routine for stopping the watchdog device. |
70 | * @ping: The routine that sends a keepalive ping to the watchdog device. | 70 | * @ping: The routine that sends a keepalive ping to the watchdog device. |
71 | * @status: The routine that shows the status of the watchdog device. | ||
71 | * | 72 | * |
72 | * The watchdog_ops structure contains a list of low-level operations | 73 | * The watchdog_ops structure contains a list of low-level operations |
73 | * that control a watchdog device. It also contains the module that owns | 74 | * that control a watchdog device. It also contains the module that owns |
@@ -81,12 +82,14 @@ struct watchdog_ops { | |||
81 | int (*stop)(struct watchdog_device *); | 82 | int (*stop)(struct watchdog_device *); |
82 | /* optional operations */ | 83 | /* optional operations */ |
83 | int (*ping)(struct watchdog_device *); | 84 | int (*ping)(struct watchdog_device *); |
85 | unsigned int (*status)(struct watchdog_device *); | ||
84 | }; | 86 | }; |
85 | 87 | ||
86 | /** struct watchdog_device - The structure that defines a watchdog device | 88 | /** struct watchdog_device - The structure that defines a watchdog device |
87 | * | 89 | * |
88 | * @info: Pointer to a watchdog_info structure. | 90 | * @info: Pointer to a watchdog_info structure. |
89 | * @ops: Pointer to the list of watchdog operations. | 91 | * @ops: Pointer to the list of watchdog operations. |
92 | * @bootstatus: Status of the watchdog device at boot. | ||
90 | * @driver-data:Pointer to the drivers private data. | 93 | * @driver-data:Pointer to the drivers private data. |
91 | * @status: Field that contains the devices internal status bits. | 94 | * @status: Field that contains the devices internal status bits. |
92 | * | 95 | * |
@@ -99,6 +102,7 @@ struct watchdog_ops { | |||
99 | struct watchdog_device { | 102 | struct watchdog_device { |
100 | const struct watchdog_info *info; | 103 | const struct watchdog_info *info; |
101 | const struct watchdog_ops *ops; | 104 | const struct watchdog_ops *ops; |
105 | unsigned int bootstatus; | ||
102 | void *driver_data; | 106 | void *driver_data; |
103 | unsigned long status; | 107 | unsigned long status; |
104 | /* Bit numbers for status flags */ | 108 | /* Bit numbers for status flags */ |