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 15816 865 88 16769 4181 drivers/block/loop.o File size After adding 'const': text data bss dec hex filename 15880 801 88 16769 4181 drivers/block/loop.o Signed-off-by: Arvind Yadav <arvind.yadav...@gmail.com> --- drivers/block/loop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 28d9329..2e413d5 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -788,7 +788,7 @@ static ssize_t loop_attr_dio_show(struct loop_device *lo, char *buf) NULL, }; -static struct attribute_group loop_attribute_group = { +static const struct attribute_group loop_attribute_group = { .name = "loop", .attrs= loop_attrs, }; -- 1.9.1