aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/watchdog
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-05-10 15:48:59 -0400
committerWim Van Sebroeck <wim@iguana.be>2012-05-30 01:54:25 -0400
commit45f5fed30a6460ec58f159ff297a2974153a97de (patch)
treed173b2d22ed1187fb7ed2cb85015ddf5c545da05 /Documentation/watchdog
parentfb5f6658163412dce22724e906e324ab7fd62c18 (diff)
watchdog: Add multiple device support
We keep the old /dev/watchdog interface file for the first watchdog via miscdev. This is basically a cut and paste of the relevant interface code from the rtc driver layer tweaked for watchdog. Revised to fix problems noted by Hans de Goede Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'Documentation/watchdog')
-rw-r--r--Documentation/watchdog/watchdog-kernel-api.txt10
1 files changed, 9 insertions, 1 deletions
diff --git a/Documentation/watchdog/watchdog-kernel-api.txt b/Documentation/watchdog/watchdog-kernel-api.txt
index 25fe4304f2fc..3c85fc7dc1f1 100644
--- a/Documentation/watchdog/watchdog-kernel-api.txt
+++ b/Documentation/watchdog/watchdog-kernel-api.txt
@@ -1,6 +1,6 @@
1The Linux WatchDog Timer Driver Core kernel API. 1The Linux WatchDog Timer Driver Core kernel API.
2=============================================== 2===============================================
3Last reviewed: 16-Mar-2012 3Last reviewed: 21-May-2012
4 4
5Wim Van Sebroeck <wim@iguana.be> 5Wim Van Sebroeck <wim@iguana.be>
6 6
@@ -39,6 +39,8 @@ watchdog_device structure.
39The watchdog device structure looks like this: 39The watchdog device structure looks like this:
40 40
41struct watchdog_device { 41struct watchdog_device {
42 int id;
43 struct cdev cdev;
42 const struct watchdog_info *info; 44 const struct watchdog_info *info;
43 const struct watchdog_ops *ops; 45 const struct watchdog_ops *ops;
44 unsigned int bootstatus; 46 unsigned int bootstatus;
@@ -50,6 +52,12 @@ struct watchdog_device {
50}; 52};
51 53
52It contains following fields: 54It contains following fields:
55* id: set by watchdog_register_device, id 0 is special. It has both a
56 /dev/watchdog0 cdev (dynamic major, minor 0) as well as the old
57 /dev/watchdog miscdev. The id is set automatically when calling
58 watchdog_register_device.
59* cdev: cdev for the dynamic /dev/watchdog<id> device nodes. This
60 field is also populated by watchdog_register_device.
53* info: a pointer to a watchdog_info structure. This structure gives some 61* info: a pointer to a watchdog_info structure. This structure gives some
54 additional information about the watchdog timer itself. (Like it's unique name) 62 additional information about the watchdog timer itself. (Like it's unique name)
55* ops: a pointer to the list of watchdog operations that the watchdog supports. 63* ops: a pointer to the list of watchdog operations that the watchdog supports.