OSDN Git Service

IB/user_mad: Use new start/end port functions
authorIra Weiny <ira.weiny@intel.com>
Thu, 14 May 2015 00:02:56 +0000 (20:02 -0400)
committerDoug Ledford <dledford@redhat.com>
Wed, 20 May 2015 16:36:17 +0000 (12:36 -0400)
Use the new common rdma_[start|end]_port functions instead of using
local variables and figuring it out on the fly.

Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/user_mad.c

index d451717..cc5001e 100644 (file)
@@ -99,7 +99,6 @@ struct ib_umad_port {
 };
 
 struct ib_umad_device {
-       int                  start_port, end_port;
        struct kobject       kobj;
        struct ib_umad_port  port[0];
 };
@@ -1275,12 +1274,8 @@ static void ib_umad_add_one(struct ib_device *device)
        int s, e, i;
        int count = 0;
 
-       if (device->node_type == RDMA_NODE_IB_SWITCH)
-               s = e = 0;
-       else {
-               s = 1;
-               e = device->phys_port_cnt;
-       }
+       s = rdma_start_port(device);
+       e = rdma_end_port(device);
 
        umad_dev = kzalloc(sizeof *umad_dev +
                           (e - s + 1) * sizeof (struct ib_umad_port),
@@ -1290,9 +1285,6 @@ static void ib_umad_add_one(struct ib_device *device)
 
        kobject_init(&umad_dev->kobj, &ib_umad_dev_ktype);
 
-       umad_dev->start_port = s;
-       umad_dev->end_port   = e;
-
        for (i = s; i <= e; ++i) {
                if (!rdma_cap_ib_mad(device, i))
                        continue;
@@ -1332,7 +1324,7 @@ static void ib_umad_remove_one(struct ib_device *device)
        if (!umad_dev)
                return;
 
-       for (i = 0; i <= umad_dev->end_port - umad_dev->start_port; ++i) {
+       for (i = 0; i <= rdma_end_port(device) - rdma_start_port(device); ++i) {
                if (rdma_cap_ib_mad(device, i))
                        ib_umad_kill_port(&umad_dev->port[i]);
        }