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>
This commit is contained in:

committed by
Wim Van Sebroeck

parent
fb5f665816
commit
45f5fed30a
@@ -1,6 +1,6 @@
|
||||
The Linux WatchDog Timer Driver Core kernel API.
|
||||
===============================================
|
||||
Last reviewed: 16-Mar-2012
|
||||
Last reviewed: 21-May-2012
|
||||
|
||||
Wim Van Sebroeck <wim@iguana.be>
|
||||
|
||||
@@ -39,6 +39,8 @@ watchdog_device structure.
|
||||
The watchdog device structure looks like this:
|
||||
|
||||
struct watchdog_device {
|
||||
int id;
|
||||
struct cdev cdev;
|
||||
const struct watchdog_info *info;
|
||||
const struct watchdog_ops *ops;
|
||||
unsigned int bootstatus;
|
||||
@@ -50,6 +52,12 @@ struct watchdog_device {
|
||||
};
|
||||
|
||||
It contains following fields:
|
||||
* id: set by watchdog_register_device, id 0 is special. It has both a
|
||||
/dev/watchdog0 cdev (dynamic major, minor 0) as well as the old
|
||||
/dev/watchdog miscdev. The id is set automatically when calling
|
||||
watchdog_register_device.
|
||||
* cdev: cdev for the dynamic /dev/watchdog<id> device nodes. This
|
||||
field is also populated by watchdog_register_device.
|
||||
* info: a pointer to a watchdog_info structure. This structure gives some
|
||||
additional information about the watchdog timer itself. (Like it's unique name)
|
||||
* ops: a pointer to the list of watchdog operations that the watchdog supports.
|
||||
|
Reference in New Issue
Block a user