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

committed by
Wim Van Sebroeck

parent
b9be9660ba
commit
ef90174f82
@@ -36,6 +36,10 @@ The watchdog_unregister_device routine deregisters a registered watchdog timer
|
||||
device. The parameter of this routine is the pointer to the registered
|
||||
watchdog_device structure.
|
||||
|
||||
The watchdog subsystem includes an registration deferral mechanism,
|
||||
which allows you to register an watchdog as early as you wish during
|
||||
the boot process.
|
||||
|
||||
The watchdog device structure looks like this:
|
||||
|
||||
struct watchdog_device {
|
||||
@@ -52,6 +56,7 @@ struct watchdog_device {
|
||||
void *driver_data;
|
||||
struct mutex lock;
|
||||
unsigned long status;
|
||||
struct list_head deferred;
|
||||
};
|
||||
|
||||
It contains following fields:
|
||||
@@ -80,6 +85,8 @@ It contains following fields:
|
||||
information about the status of the device (Like: is the watchdog timer
|
||||
running/active, is the nowayout bit set, is the device opened via
|
||||
the /dev/watchdog interface or not, ...).
|
||||
* deferred: entry in wtd_deferred_reg_list which is used to
|
||||
register early initialized watchdogs.
|
||||
|
||||
The list of watchdog operations is defined as:
|
||||
|
||||
|
Reference in New Issue
Block a user