Hi Andy,

On Monday 17 July 2017 04:11 PM, Andy Shevchenko wrote:
On Mon, 2017-07-17 at 16:04 +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.

I hope you did compile test it.
    I have compiled it. If we will see  <linux/sysfs.h>
"int sysfs_create_group(struct kobject *kobj, const struct attribute_group *grp)" and "void sysfs_remove_group(struct kobject *kobj, const struct attribute_group *grp);" Here, passing parameter attribute_group are constant. So I have changed non-const as const.

    ~arvind

File size before:
    text           data     bss     dec     hex 
filename
    1687            592       0    2279     8e7 
int3400_thermal.o

File size After adding 'const':
    text           data     bss     dec     hex 
filename
    1751            528       0    2279     8e7 
int3400_thermal.o

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

diff --git a/drivers/thermal/int340x_thermal/int3400_thermal.c
b/drivers/thermal/int340x_thermal/int3400_thermal.c
index a9ec94e..b2ffbed 100644
--- a/drivers/thermal/int340x_thermal/int3400_thermal.c
+++ b/drivers/thermal/int340x_thermal/int3400_thermal.c
@@ -104,7 +104,7 @@ static ssize_t current_uuid_store(struct device
*dev,
        NULL
  };
-static struct attribute_group uuid_attribute_group = {
+static const struct attribute_group uuid_attribute_group = {
        .attrs = uuid_attrs,
        .name = "uuids"
  };

Reply via email to