2021-03-04 10:43:15

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH 0/2] docs: driver-model: device: Add helper macro examples

Hi Jon, Greg, Rafael,

The DEVICE_ATTR_* and ATTRIBUTE_GROUPS() helper macros have existed for
more than a decade, but are still not mentioned in the driver-model
device documentation. Hence this patch series adds them, including
examples, to the documentation.

Thanks for your comments!

Geert Uytterhoeven (2):
docs: driver-model: device: Add DEVICE_ATTR_{RO,RW} examples
docs: driver-model: device: Add ATTRIBUTE_GROUPS() example

.../driver-api/driver-model/device.rst | 23 ++++++++++++++-----
1 file changed, 17 insertions(+), 6 deletions(-)

--
2.25.1

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


2021-03-04 10:43:16

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH 1/2] docs: driver-model: device: Add DEVICE_ATTR_{RO,RW} examples

bus.rst, driver.rst, and hwmon-kernel-api.rst refer to the
DEVICE_ATTR_* macros for devices, but device.rst does not mention them.

Add a paragraph about these helper macros, and use them in the examples.
Retain the old description, as it is still useful for less common values
of mode. Change the names of the example "show" and "store" methods, to
match the expectations of the DEVICE_ATTR_* macros.

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
Documentation/driver-api/driver-model/device.rst | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/Documentation/driver-api/driver-model/device.rst b/Documentation/driver-api/driver-model/device.rst
index b9b022371e856e83..41c819fafd9c1aee 100644
--- a/Documentation/driver-api/driver-model/device.rst
+++ b/Documentation/driver-api/driver-model/device.rst
@@ -63,8 +63,14 @@ Attributes are declared using a macro called DEVICE_ATTR::

Example:::

- static DEVICE_ATTR(type, 0444, show_type, NULL);
- static DEVICE_ATTR(power, 0644, show_power, store_power);
+ static DEVICE_ATTR(type, 0444, type_show, NULL);
+ static DEVICE_ATTR(power, 0644, power_show, power_store);
+
+Helper macros are available for common values of mode, so the above examples
+can be simplified to:::
+
+ static DEVICE_ATTR_RO(type);
+ static DEVICE_ATTR_RW(power);

This declares two structures of type struct device_attribute with respective
names 'dev_attr_type' and 'dev_attr_power'. These two attributes can be
--
2.25.1

2021-03-04 23:23:13

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 0/2] docs: driver-model: device: Add helper macro examples

On Wed, Mar 03, 2021 at 02:38:43PM +0100, Geert Uytterhoeven wrote:
> Hi Jon, Greg, Rafael,
>
> The DEVICE_ATTR_* and ATTRIBUTE_GROUPS() helper macros have existed for
> more than a decade, but are still not mentioned in the driver-model
> device documentation. Hence this patch series adds them, including
> examples, to the documentation.
>
> Thanks for your comments!
>
> Geert Uytterhoeven (2):
> docs: driver-model: device: Add DEVICE_ATTR_{RO,RW} examples
> docs: driver-model: device: Add ATTRIBUTE_GROUPS() example

Thanks for adding these:

Reviewed-by: Greg Kroah-Hartman <[email protected]>

2021-03-09 00:09:49

by Jonathan Corbet

[permalink] [raw]
Subject: Re: [PATCH 0/2] docs: driver-model: device: Add helper macro examples

Geert Uytterhoeven <[email protected]> writes:

> Hi Jon, Greg, Rafael,
>
> The DEVICE_ATTR_* and ATTRIBUTE_GROUPS() helper macros have existed for
> more than a decade, but are still not mentioned in the driver-model
> device documentation. Hence this patch series adds them, including
> examples, to the documentation.
>
> Thanks for your comments!
>
> Geert Uytterhoeven (2):
> docs: driver-model: device: Add DEVICE_ATTR_{RO,RW} examples
> docs: driver-model: device: Add ATTRIBUTE_GROUPS() example
>
> .../driver-api/driver-model/device.rst | 23 ++++++++++++++-----
> 1 file changed, 17 insertions(+), 6 deletions(-)

Set applied, thanks.

jon