aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/watchdog
diff options
context:
space:
mode:
authorJean-Baptiste Theou <jtheou@adeneo-embedded.us>2015-06-09 12:55:02 -0400
committerWim Van Sebroeck <wim@iguana.be>2015-06-29 05:51:06 -0400
commitef90174f821041313d42d99c1c8b35a3af64a910 (patch)
tree0265d89b6ee866b7e20a8925fae03e290e078e00 /Documentation/watchdog
parentb9be9660ba2d23259e4a430a44167ef441dc5fe6 (diff)
watchdog: watchdog_core: Add watchdog registration deferral mechanism
Currently, watchdog subsystem require the misc subsystem to register a watchdog. This may not be the case in case of an early registration of a watchdog, which can be required when the watchdog cannot be disabled. This patch introduces a deferral mechanism to remove this requirement. Signed-off-by: Jean-Baptiste Theou <jtheou@adeneo-embedded.us> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'Documentation/watchdog')
-rw-r--r--Documentation/watchdog/watchdog-kernel-api.txt7
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/watchdog/watchdog-kernel-api.txt b/Documentation/watchdog/watchdog-kernel-api.txt
index a0438f3957ca..d8b0d3367706 100644
--- a/Documentation/watchdog/watchdog-kernel-api.txt
+++ b/Documentation/watchdog/watchdog-kernel-api.txt
@@ -36,6 +36,10 @@ The watchdog_unregister_device routine deregisters a registered watchdog timer
36device. The parameter of this routine is the pointer to the registered 36device. The parameter of this routine is the pointer to the registered
37watchdog_device structure. 37watchdog_device structure.
38 38
39The watchdog subsystem includes an registration deferral mechanism,
40which allows you to register an watchdog as early as you wish during
41the boot process.
42
39The watchdog device structure looks like this: 43The watchdog device structure looks like this:
40 44
41struct watchdog_device { 45struct watchdog_device {
@@ -52,6 +56,7 @@ struct watchdog_device {
52 void *driver_data; 56 void *driver_data;
53 struct mutex lock; 57 struct mutex lock;
54 unsigned long status; 58 unsigned long status;
59 struct list_head deferred;
55}; 60};
56 61
57It contains following fields: 62It contains following fields:
@@ -80,6 +85,8 @@ It contains following fields:
80 information about the status of the device (Like: is the watchdog timer 85 information about the status of the device (Like: is the watchdog timer
81 running/active, is the nowayout bit set, is the device opened via 86 running/active, is the nowayout bit set, is the device opened via
82 the /dev/watchdog interface or not, ...). 87 the /dev/watchdog interface or not, ...).
88* deferred: entry in wtd_deferred_reg_list which is used to
89 register early initialized watchdogs.
83 90
84The list of watchdog operations is defined as: 91The list of watchdog operations is defined as:
85 92