Message ID | 8d970553e4374fa42576306c2da1fc359a04aad5.1498799085.git.arvind.yadav.cs@gmail.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Andy Shevchenko |
Headers | show |
On Fri, Jun 30, 2017 at 8:09 AM, Arvind Yadav <arvind.yadav.cs@gmail.com> 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 > 31273 5176 372 36821 8fd5 drivers/platform/x86/sony-laptop.o > > File size After adding 'const': > text data bss dec hex filename > 31337 5112 372 36821 8fd5 drivers/platform/x86/sony-laptop.o > A bit late, Arnd's patch has been applied. Please, test it beforehand next time. Thanks. > Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> > --- > Changes in v2: > Resolve warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers] > key_dev->keycode = &sony_laptop_input_keycode_map; > > drivers/platform/x86/sony-laptop.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c > index aa2ee51..bfae795 100644 > --- a/drivers/platform/x86/sony-laptop.c > +++ b/drivers/platform/x86/sony-laptop.c > @@ -222,7 +222,7 @@ struct sony_laptop_keypress { > /* Correspondance table between sonypi events > * and input layer indexes in the keymap > */ > -static int sony_laptop_input_index[] = { > +static const int sony_laptop_input_index[] = { > -1, /* 0 no event */ > -1, /* 1 SONYPI_EVENT_JOGDIAL_DOWN */ > -1, /* 2 SONYPI_EVENT_JOGDIAL_UP */ > @@ -4032,7 +4032,7 @@ struct device_attribute spic_attr_##_name = __ATTR(_name, \ > NULL > }; > > -static struct attribute_group spic_attribute_group = { > +static const struct attribute_group spic_attribute_group = { > .attrs = spic_attributes > }; > > -- > 1.9.1 >
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c index aa2ee51..bfae795 100644 --- a/drivers/platform/x86/sony-laptop.c +++ b/drivers/platform/x86/sony-laptop.c @@ -222,7 +222,7 @@ struct sony_laptop_keypress { /* Correspondance table between sonypi events * and input layer indexes in the keymap */ -static int sony_laptop_input_index[] = { +static const int sony_laptop_input_index[] = { -1, /* 0 no event */ -1, /* 1 SONYPI_EVENT_JOGDIAL_DOWN */ -1, /* 2 SONYPI_EVENT_JOGDIAL_UP */ @@ -4032,7 +4032,7 @@ struct device_attribute spic_attr_##_name = __ATTR(_name, \ NULL }; -static struct attribute_group spic_attribute_group = { +static const struct attribute_group spic_attribute_group = { .attrs = spic_attributes };
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 31273 5176 372 36821 8fd5 drivers/platform/x86/sony-laptop.o File size After adding 'const': text data bss dec hex filename 31337 5112 372 36821 8fd5 drivers/platform/x86/sony-laptop.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> --- Changes in v2: Resolve warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers] key_dev->keycode = &sony_laptop_input_keycode_map; drivers/platform/x86/sony-laptop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)