diff options
author | Alan Cox <alan@linux.intel.com> | 2012-05-10 15:48:59 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2012-05-30 01:54:25 -0400 |
commit | 45f5fed30a6460ec58f159ff297a2974153a97de (patch) | |
tree | d173b2d22ed1187fb7ed2cb85015ddf5c545da05 /Documentation/watchdog | |
parent | fb5f6658163412dce22724e906e324ab7fd62c18 (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.txt | 10 |
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 @@ | |||
1 | The Linux WatchDog Timer Driver Core kernel API. | 1 | The Linux WatchDog Timer Driver Core kernel API. |
2 | =============================================== | 2 | =============================================== |
3 | Last reviewed: 16-Mar-2012 | 3 | Last reviewed: 21-May-2012 |
4 | 4 | ||
5 | Wim Van Sebroeck <wim@iguana.be> | 5 | Wim Van Sebroeck <wim@iguana.be> |
6 | 6 | ||
@@ -39,6 +39,8 @@ watchdog_device structure. | |||
39 | The watchdog device structure looks like this: | 39 | The watchdog device structure looks like this: |
40 | 40 | ||
41 | struct watchdog_device { | 41 | struct 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 | ||
52 | It contains following fields: | 54 | It 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. |