diff options
author | Jean-Baptiste Theou <jtheou@adeneo-embedded.us> | 2015-06-09 09:55:02 -0700 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2015-06-29 11:51:06 +0200 |
commit | ef90174f821041313d42d99c1c8b35a3af64a910 (patch) | |
tree | 0265d89b6ee866b7e20a8925fae03e290e078e00 /include/linux/watchdog.h | |
parent | b9be9660ba2d23259e4a430a44167ef441dc5fe6 (diff) | |
download | linux-stable-ef90174f821041313d42d99c1c8b35a3af64a910.tar.gz linux-stable-ef90174f821041313d42d99c1c8b35a3af64a910.tar.bz2 linux-stable-ef90174f821041313d42d99c1c8b35a3af64a910.zip |
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 'include/linux/watchdog.h')
-rw-r--r-- | include/linux/watchdog.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/watchdog.h b/include/linux/watchdog.h index a746bf5216f8..f47feada5b42 100644 --- a/include/linux/watchdog.h +++ b/include/linux/watchdog.h @@ -65,6 +65,8 @@ struct watchdog_ops { * @driver-data:Pointer to the drivers private data. * @lock: Lock for watchdog core internal use only. * @status: Field that contains the devices internal status bits. + * @deferred: entry in wtd_deferred_reg_list which is used to + * register early initialized watchdogs. * * The watchdog_device structure contains all information about a * watchdog timer device. @@ -95,6 +97,7 @@ struct watchdog_device { #define WDOG_ALLOW_RELEASE 2 /* Did we receive the magic char ? */ #define WDOG_NO_WAY_OUT 3 /* Is 'nowayout' feature set ? */ #define WDOG_UNREGISTERED 4 /* Has the device been unregistered */ + struct list_head deferred; }; #define WATCHDOG_NOWAYOUT IS_BUILTIN(CONFIG_WATCHDOG_NOWAYOUT) |