aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/driver-api
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2021-03-03 14:38:45 +0100
committerJonathan Corbet <corbet@lwn.net>2021-03-08 17:06:56 -0700
commit459d7ed81223ba4ed634d50231219c7a3f9f4a01 (patch)
tree9776ce2bd5ed6598faf5ca31701f887fe16efbf0 /Documentation/driver-api
parentdocs: driver-model: device: Add DEVICE_ATTR_{RO,RW} examples (diff)
downloadlinux-dev-459d7ed81223ba4ed634d50231219c7a3f9f4a01.tar.xz
linux-dev-459d7ed81223ba4ed634d50231219c7a3f9f4a01.zip
docs: driver-model: device: Add ATTRIBUTE_GROUPS() example
Add a paragraph about the ATTRIBUTE_GROUPS() helper macro, and use it in the example. Retain the old description, as it is still useful in case of multiple groups. Change the names of the group(s) structures, to match the ATTRIBUTE_GROUPS() macro. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20210303133845.3939403-3-geert+renesas@glider.be Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/driver-api')
-rw-r--r--Documentation/driver-api/driver-model/device.rst13
1 files changed, 9 insertions, 4 deletions
diff --git a/Documentation/driver-api/driver-model/device.rst b/Documentation/driver-api/driver-model/device.rst
index 41c819fafd9c..0833be568b06 100644
--- a/Documentation/driver-api/driver-model/device.rst
+++ b/Documentation/driver-api/driver-model/device.rst
@@ -82,19 +82,24 @@ organized as follows into a group::
NULL,
};
- static struct attribute_group dev_attr_group = {
+ static struct attribute_group dev_group = {
.attrs = dev_attrs,
};
- static const struct attribute_group *dev_attr_groups[] = {
- &dev_attr_group,
+ static const struct attribute_group *dev_groups[] = {
+ &dev_group,
NULL,
};
+A helper macro is available for the common case of a single group, so the
+above two structures can be declared using:::
+
+ ATTRIBUTE_GROUPS(dev);
+
This array of groups can then be associated with a device by setting the
group pointer in struct device before device_register() is invoked::
- dev->groups = dev_attr_groups;
+ dev->groups = dev_groups;
device_register(dev);
The device_register() function will use the 'groups' pointer to create the