RDMA/usnic: Instantiate data structures once
authorBart Van Assche <bart.vanassche@wdc.com>
Wed, 11 Oct 2017 17:49:27 +0000 (10:49 -0700)
committerDoug Ledford <dledford@redhat.com>
Sun, 15 Oct 2017 00:47:07 +0000 (20:47 -0400)
Data structures should not be defined in a header file. Hence move
the min_transport_spec[] definition from a header file to a .c file.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Christian Benvenuti <benve@cisco.com>
Cc: Dave Goodell <dgoodell@cisco.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/usnic/usnic_ib_qp_grp.h
drivers/infiniband/hw/usnic/usnic_ib_verbs.c

index b1458be..a8a2314 100644 (file)
@@ -84,30 +84,7 @@ struct usnic_ib_qp_grp_flow {
        char                            dentry_name[32];
 };
 
-static const struct
-usnic_vnic_res_spec min_transport_spec[USNIC_TRANSPORT_MAX] = {
-       { /*USNIC_TRANSPORT_UNKNOWN*/
-               .resources = {
-                       {.type = USNIC_VNIC_RES_TYPE_EOL,       .cnt = 0,},
-               },
-       },
-       { /*USNIC_TRANSPORT_ROCE_CUSTOM*/
-               .resources = {
-                       {.type = USNIC_VNIC_RES_TYPE_WQ,        .cnt = 1,},
-                       {.type = USNIC_VNIC_RES_TYPE_RQ,        .cnt = 1,},
-                       {.type = USNIC_VNIC_RES_TYPE_CQ,        .cnt = 1,},
-                       {.type = USNIC_VNIC_RES_TYPE_EOL,       .cnt = 0,},
-               },
-       },
-       { /*USNIC_TRANSPORT_IPV4_UDP*/
-               .resources = {
-                       {.type = USNIC_VNIC_RES_TYPE_WQ,        .cnt = 1,},
-                       {.type = USNIC_VNIC_RES_TYPE_RQ,        .cnt = 1,},
-                       {.type = USNIC_VNIC_RES_TYPE_CQ,        .cnt = 1,},
-                       {.type = USNIC_VNIC_RES_TYPE_EOL,       .cnt = 0,},
-               },
-       },
-};
+extern const struct usnic_vnic_res_spec min_transport_spec[USNIC_TRANSPORT_MAX];
 
 const char *usnic_ib_qp_grp_state_to_string(enum ib_qp_state state);
 int usnic_ib_qp_grp_dump_hdr(char *buf, int buf_sz);
index 8372c32..aa2456a 100644 (file)
 
 #define USNIC_DEFAULT_TRANSPORT USNIC_TRANSPORT_ROCE_CUSTOM
 
+const struct usnic_vnic_res_spec min_transport_spec[USNIC_TRANSPORT_MAX] = {
+       { /*USNIC_TRANSPORT_UNKNOWN*/
+               .resources = {
+                       {.type = USNIC_VNIC_RES_TYPE_EOL,       .cnt = 0,},
+               },
+       },
+       { /*USNIC_TRANSPORT_ROCE_CUSTOM*/
+               .resources = {
+                       {.type = USNIC_VNIC_RES_TYPE_WQ,        .cnt = 1,},
+                       {.type = USNIC_VNIC_RES_TYPE_RQ,        .cnt = 1,},
+                       {.type = USNIC_VNIC_RES_TYPE_CQ,        .cnt = 1,},
+                       {.type = USNIC_VNIC_RES_TYPE_EOL,       .cnt = 0,},
+               },
+       },
+       { /*USNIC_TRANSPORT_IPV4_UDP*/
+               .resources = {
+                       {.type = USNIC_VNIC_RES_TYPE_WQ,        .cnt = 1,},
+                       {.type = USNIC_VNIC_RES_TYPE_RQ,        .cnt = 1,},
+                       {.type = USNIC_VNIC_RES_TYPE_CQ,        .cnt = 1,},
+                       {.type = USNIC_VNIC_RES_TYPE_EOL,       .cnt = 0,},
+               },
+       },
+};
+
 static void usnic_ib_fw_string_to_u64(char *fw_ver_str, u64 *fw_ver)
 {
        *fw_ver = *((u64 *)fw_ver_str);