summaryrefslogtreecommitdiff
path: root/Documentation/watchdog
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2016-01-03 15:11:56 -0800
committerWim Van Sebroeck <wim@iguana.be>2016-01-11 21:53:57 +0100
commitfaa584757b63aad42d19f1c6a6eac2c848618f83 (patch)
treeb052c3091b4e14fbbb681d6eee5ad17d97267c3b /Documentation/watchdog
parent62cd1c40ce1c7c16835b599751c7a002eb5bbdf5 (diff)
downloadlinux-starfive-faa584757b63aad42d19f1c6a6eac2c848618f83.tar.gz
linux-starfive-faa584757b63aad42d19f1c6a6eac2c848618f83.tar.bz2
linux-starfive-faa584757b63aad42d19f1c6a6eac2c848618f83.zip
watchdog: Add support for creating driver specific sysfs attributes
The Zodiac watchdog driver attaches additional sysfs attributes to the watchdog device. This has a number of problems: The watchdog device lifetime differs from the driver lifetime, and the device structure should therefore not be accessed from drivers. Also, creating sysfs attributes after driver registration results in a potential race condition if user space expects the attributes to exist but they don't exist yet. Add support for creating driver specific sysfs attributes to the watchdog core to solve the problems. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-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.txt3
1 files changed, 3 insertions, 0 deletions
diff --git a/Documentation/watchdog/watchdog-kernel-api.txt b/Documentation/watchdog/watchdog-kernel-api.txt
index 72a009478b15..312f60009c3e 100644
--- a/Documentation/watchdog/watchdog-kernel-api.txt
+++ b/Documentation/watchdog/watchdog-kernel-api.txt
@@ -46,6 +46,7 @@ struct watchdog_device {
int id;
struct device *dev;
struct device *parent;
+ const struct attribute_group **groups;
const struct watchdog_info *info;
const struct watchdog_ops *ops;
unsigned int bootstatus;
@@ -68,6 +69,8 @@ It contains following fields:
* dev: device under the watchdog class (created by watchdog_register_device).
* parent: set this to the parent device (or NULL) before calling
watchdog_register_device.
+* groups: List of sysfs attribute groups to create when creating the watchdog
+ 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.