In some circumstances, multiple __ATTR_RO attributes need to be assigned with a single show function. Add this macro to make life easier with simple code. Signed-off-by: Orson Zhai <orsonzhai@xxxxxxxxx> --- Documentation/filesystems/sysfs.rst | 2 ++ include/linux/sysfs.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/Documentation/filesystems/sysfs.rst b/Documentation/filesystems/sysfs.rst index 004d490..0e2274a 100644 --- a/Documentation/filesystems/sysfs.rst +++ b/Documentation/filesystems/sysfs.rst @@ -141,6 +141,8 @@ __ATTR_RO_MODE(name, mode): fore more restrictive RO access currently only use case is the EFI System Resource Table (see drivers/firmware/efi/esrt.c) +__ATTR_RO_SHOW(name, show): + assumes default mode 0444 with specified show. __ATTR_RW(name): assumes default name_show, name_store and setting mode to 0644. diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index 2caa34c..c851592 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -117,6 +117,11 @@ struct attribute_group { .show = _name##_show, \ } +#define __ATTR_RO_SHOW(_name, _show) { \ + .attr = { .name = __stringify(_name), .mode = 0444 }, \ + .show = _show, \ +} + #define __ATTR_RO_MODE(_name, _mode) { \ .attr = { .name = __stringify(_name), \ .mode = VERIFY_OCTAL_PERMISSIONS(_mode) }, \ -- 2.7.4