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 4162 544 0 4706 1262 drivers/rtc/rtc-m41t80.o File size After adding 'const': text data bss dec hex filename 4226 480 0 4706 1262 drivers/rtc/rtc-m41t80.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> --- drivers/rtc/rtc-m41t80.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-m41t80.c b/drivers/rtc/rtc-m41t80.c index 5ec4653..c15a19e 100644 --- a/drivers/rtc/rtc-m41t80.c +++ b/drivers/rtc/rtc-m41t80.c @@ -524,7 +524,7 @@ static ssize_t sqwfreq_store(struct device *dev, NULL, }; -static struct attribute_group attr_group = { +static const struct attribute_group attr_group = { .attrs = attrs, }; -- 1.9.1