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
  28720     985      12   29717    7415 drivers/net/.../cxgb3/cxgb3_main.o

File size After adding 'const':
   text    data     bss     dec     hex filename
  28848     857      12   29717    7415 drivers/net/.../cxgb3/cxgb3_main.o

Signed-off-by: Arvind Yadav <arvind.yadav...@gmail.com>
---
Changes in v2:
              Added cover later.

 drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c 
b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
index 0bc6a4f..6a01536 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
@@ -793,7 +793,9 @@ static DEVICE_ATTR(name, S_IRUGO | S_IWUSR, show_##name, 
store_method)
        NULL
 };
 
-static struct attribute_group cxgb3_attr_group = {.attrs = cxgb3_attrs };
+static const struct attribute_group cxgb3_attr_group = {
+       .attrs = cxgb3_attrs,
+};
 
 static ssize_t tm_attr_show(struct device *d,
                            char *buf, int sched)
@@ -880,7 +882,9 @@ static DEVICE_ATTR(name, S_IRUGO | S_IWUSR, show_##name, 
store_##name)
        NULL
 };
 
-static struct attribute_group offload_attr_group = {.attrs = offload_attrs };
+static const struct attribute_group offload_attr_group = {
+       .attrs = offload_attrs,
+};
 
 /*
  * Sends an sk_buff to an offload queue driver
-- 
1.9.1

Reply via email to