2017-07-05 05:01:27

by Arvind Yadav

[permalink] [raw]
Subject: [PATCH] hwmon: constify attribute_group structures.

attribute_groups are not supposed to change at runtime. All functions
working with attribute_groups provided by <linux/sysfs.h> work with const
attribute_group. So mark the non-const structs as const.

File size before:
text data bss dec hex filename
6655 304 0 6959 1b2f drivers/hwmon/hwmon.o

File size After adding 'const':
text data bss dec hex filename
6703 240 0 6943 1b1f drivers/hwmon/hwmon.o

Signed-off-by: Arvind Yadav <[email protected]>
---
drivers/hwmon/hwmon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
index dd6e17c..2ac578a 100644
--- a/drivers/hwmon/hwmon.c
+++ b/drivers/hwmon/hwmon.c
@@ -85,7 +85,7 @@ static umode_t hwmon_dev_name_is_visible(struct kobject *kobj,
return attr->mode;
}

-static struct attribute_group hwmon_dev_attr_group = {
+static const struct attribute_group hwmon_dev_attr_group = {
.attrs = hwmon_dev_attrs,
.is_visible = hwmon_dev_name_is_visible,
};
--
1.9.1


2017-07-08 15:53:26

by Guenter Roeck

[permalink] [raw]
Subject: Re: hwmon: constify attribute_group structures.

On Wed, Jul 05, 2017 at 10:31:05AM +0530, Arvind Yadav wrote:
> attribute_groups are not supposed to change at runtime. All functions
> working with attribute_groups provided by <linux/sysfs.h> work with const
> attribute_group. So mark the non-const structs as const.
>
> File size before:
> text data bss dec hex filename
> 6655 304 0 6959 1b2f drivers/hwmon/hwmon.o
>
> File size After adding 'const':
> text data bss dec hex filename
> 6703 240 0 6943 1b1f drivers/hwmon/hwmon.o
>
> Signed-off-by: Arvind Yadav <[email protected]>

Applied to hwmon-next.

Thanks,
Guenter

> ---
> drivers/hwmon/hwmon.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
> index dd6e17c..2ac578a 100644
> --- a/drivers/hwmon/hwmon.c
> +++ b/drivers/hwmon/hwmon.c
> @@ -85,7 +85,7 @@ static umode_t hwmon_dev_name_is_visible(struct kobject *kobj,
> return attr->mode;
> }
>
> -static struct attribute_group hwmon_dev_attr_group = {
> +static const struct attribute_group hwmon_dev_attr_group = {
> .attrs = hwmon_dev_attrs,
> .is_visible = hwmon_dev_name_is_visible,
> };