RDMA/core: Constify struct attribute_group
authorRikard Falkeborn <rikard.falkeborn@gmail.com>
Wed, 30 Sep 2020 22:40:03 +0000 (00:40 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 1 Oct 2020 23:44:51 +0000 (20:44 -0300)
The only usage of the pma_table field in the ib_port struct is to pass its
address to sysfs_create_group() and sysfs_remove_group(). Make it const to
make it possible to constify a couple of static struct
attribute_group. This allows the compiler to put them in read-only memory.

Link: https://lore.kernel.org/r/20200930224004.24279-2-rikard.falkeborn@gmail.com
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/sysfs.c

index c11e505..453d1c4 100644 (file)
@@ -59,7 +59,7 @@ struct ib_port {
        struct gid_attr_group *gid_attr_group;
        struct attribute_group gid_group;
        struct attribute_group *pkey_group;
-       struct attribute_group *pma_table;
+       const struct attribute_group *pma_table;
        struct attribute_group *hw_stats_ag;
        struct rdma_hw_stats   *hw_stats;
        u8                     port_num;
@@ -653,17 +653,17 @@ static struct attribute *pma_attrs_noietf[] = {
        NULL
 };
 
-static struct attribute_group pma_group = {
+static const struct attribute_group pma_group = {
        .name  = "counters",
        .attrs  = pma_attrs
 };
 
-static struct attribute_group pma_group_ext = {
+static const struct attribute_group pma_group_ext = {
        .name  = "counters",
        .attrs  = pma_attrs_ext
 };
 
-static struct attribute_group pma_group_noietf = {
+static const struct attribute_group pma_group_noietf = {
        .name  = "counters",
        .attrs  = pma_attrs_noietf
 };
@@ -778,8 +778,8 @@ err:
  * Figure out which counter table to use depending on
  * the device capabilities.
  */
-static struct attribute_group *get_counter_table(struct ib_device *dev,
-                                                int port_num)
+static const struct attribute_group *get_counter_table(struct ib_device *dev,
+                                                      int port_num)
 {
        struct ib_class_port_info cpi;