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 6026 2541 12 8579 2183 drivers/edac/edac_mc_sysfs.o File size After adding 'const': text data bss dec hex filename 6090 2477 12 8579 2183 drivers/edac/edac_mc_sysfs.o Signed-off-by: Arvind Yadav <arvind.yadav...@gmail.com> --- drivers/edac/edac_mc_sysfs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c index 445862d..dbc6446 100644 --- a/drivers/edac/edac_mc_sysfs.c +++ b/drivers/edac/edac_mc_sysfs.c @@ -287,7 +287,7 @@ static ssize_t channel_ce_count_show(struct device *dev, NULL, }; -static struct attribute_group csrow_attr_grp = { +static const struct attribute_group csrow_attr_grp = { .attrs = csrow_attrs, }; @@ -627,7 +627,7 @@ static DEVICE_ATTR(dimm_label, S_IRUGO | S_IWUSR, NULL, }; -static struct attribute_group dimm_attr_grp = { +static const struct attribute_group dimm_attr_grp = { .attrs = dimm_attrs, }; @@ -902,7 +902,7 @@ static umode_t mci_attr_is_visible(struct kobject *kobj, return mode; } -static struct attribute_group mci_attr_grp = { +static const struct attribute_group mci_attr_grp = { .attrs = mci_attrs, .is_visible = mci_attr_is_visible, }; -- 1.9.1