3.16.49-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Ira Weiny <ira.we...@intel.com>

commit 0cf18d7723055709faf51b50f5a33253b480637f upstream.

Previously start_port and end_port were defined in 2 places, cache.c and
device.c and this prevented their use in other modules.

Make these common functions, change the name to reflect the rdma
name space, and update existing users.

Signed-off-by: Ira Weiny <ira.we...@intel.com>
Signed-off-by: Doug Ledford <dledf...@redhat.com>
Signed-off-by: Ben Hutchings <b...@decadent.org.uk>
---
 drivers/infiniband/core/cache.c  | 61 ++++++++++++++++------------------------
 drivers/infiniband/core/device.c | 26 +++++------------
 include/rdma/ib_verbs.h          | 27 ++++++++++++++++++
 3 files changed, 59 insertions(+), 55 deletions(-)

--- a/drivers/infiniband/core/cache.c
+++ b/drivers/infiniband/core/cache.c
@@ -58,17 +58,6 @@ struct ib_update_work {
        u8                 port_num;
 };
 
-static inline int start_port(struct ib_device *device)
-{
-       return (device->node_type == RDMA_NODE_IB_SWITCH) ? 0 : 1;
-}
-
-static inline int end_port(struct ib_device *device)
-{
-       return (device->node_type == RDMA_NODE_IB_SWITCH) ?
-               0 : device->phys_port_cnt;
-}
-
 int ib_get_cached_gid(struct ib_device *device,
                      u8                port_num,
                      int               index,
@@ -78,12 +67,12 @@ int ib_get_cached_gid(struct ib_device *
        unsigned long flags;
        int ret = 0;
 
-       if (port_num < start_port(device) || port_num > end_port(device))
+       if (port_num < rdma_start_port(device) || port_num > 
rdma_end_port(device))
                return -EINVAL;
 
        read_lock_irqsave(&device->cache.lock, flags);
 
-       cache = device->cache.gid_cache[port_num - start_port(device)];
+       cache = device->cache.gid_cache[port_num - rdma_start_port(device)];
 
        if (index < 0 || index >= cache->table_len)
                ret = -EINVAL;
@@ -112,11 +101,11 @@ int ib_find_cached_gid(struct ib_device
 
        read_lock_irqsave(&device->cache.lock, flags);
 
-       for (p = 0; p <= end_port(device) - start_port(device); ++p) {
+       for (p = 0; p <= rdma_end_port(device) - rdma_start_port(device); ++p) {
                cache = device->cache.gid_cache[p];
                for (i = 0; i < cache->table_len; ++i) {
                        if (!memcmp(gid, &cache->table[i], sizeof *gid)) {
-                               *port_num = p + start_port(device);
+                               *port_num = p + rdma_start_port(device);
                                if (index)
                                        *index = i;
                                ret = 0;
@@ -140,12 +129,12 @@ int ib_get_cached_pkey(struct ib_device
        unsigned long flags;
        int ret = 0;
 
-       if (port_num < start_port(device) || port_num > end_port(device))
+       if (port_num < rdma_start_port(device) || port_num > 
rdma_end_port(device))
                return -EINVAL;
 
        read_lock_irqsave(&device->cache.lock, flags);
 
-       cache = device->cache.pkey_cache[port_num - start_port(device)];
+       cache = device->cache.pkey_cache[port_num - rdma_start_port(device)];
 
        if (index < 0 || index >= cache->table_len)
                ret = -EINVAL;
@@ -169,12 +158,12 @@ int ib_find_cached_pkey(struct ib_device
        int ret = -ENOENT;
        int partial_ix = -1;
 
-       if (port_num < start_port(device) || port_num > end_port(device))
+       if (port_num < rdma_start_port(device) || port_num > 
rdma_end_port(device))
                return -EINVAL;
 
        read_lock_irqsave(&device->cache.lock, flags);
 
-       cache = device->cache.pkey_cache[port_num - start_port(device)];
+       cache = device->cache.pkey_cache[port_num - rdma_start_port(device)];
 
        *index = -1;
 
@@ -209,12 +198,12 @@ int ib_find_exact_cached_pkey(struct ib_
        int i;
        int ret = -ENOENT;
 
-       if (port_num < start_port(device) || port_num > end_port(device))
+       if (port_num < rdma_start_port(device) || port_num > 
rdma_end_port(device))
                return -EINVAL;
 
        read_lock_irqsave(&device->cache.lock, flags);
 
-       cache = device->cache.pkey_cache[port_num - start_port(device)];
+       cache = device->cache.pkey_cache[port_num - rdma_start_port(device)];
 
        *index = -1;
 
@@ -238,11 +227,11 @@ int ib_get_cached_lmc(struct ib_device *
        unsigned long flags;
        int ret = 0;
 
-       if (port_num < start_port(device) || port_num > end_port(device))
+       if (port_num < rdma_start_port(device) || port_num > 
rdma_end_port(device))
                return -EINVAL;
 
        read_lock_irqsave(&device->cache.lock, flags);
-       *lmc = device->cache.lmc_cache[port_num - start_port(device)];
+       *lmc = device->cache.lmc_cache[port_num - rdma_start_port(device)];
        read_unlock_irqrestore(&device->cache.lock, flags);
 
        return ret;
@@ -303,13 +292,13 @@ static void ib_cache_update(struct ib_de
 
        write_lock_irq(&device->cache.lock);
 
-       old_pkey_cache = device->cache.pkey_cache[port - start_port(device)];
-       old_gid_cache  = device->cache.gid_cache [port - start_port(device)];
+       old_pkey_cache = device->cache.pkey_cache[port - 
rdma_start_port(device)];
+       old_gid_cache  = device->cache.gid_cache [port - 
rdma_start_port(device)];
 
-       device->cache.pkey_cache[port - start_port(device)] = pkey_cache;
-       device->cache.gid_cache [port - start_port(device)] = gid_cache;
+       device->cache.pkey_cache[port - rdma_start_port(device)] = pkey_cache;
+       device->cache.gid_cache [port - rdma_start_port(device)] = gid_cache;
 
-       device->cache.lmc_cache[port - start_port(device)] = tprops->lmc;
+       device->cache.lmc_cache[port - rdma_start_port(device)] = tprops->lmc;
 
        write_unlock_irq(&device->cache.lock);
 
@@ -363,14 +352,14 @@ static void ib_cache_setup_one(struct ib
 
        device->cache.pkey_cache =
                kmalloc(sizeof *device->cache.pkey_cache *
-                       (end_port(device) - start_port(device) + 1), 
GFP_KERNEL);
+                       (rdma_end_port(device) - rdma_start_port(device) + 1), 
GFP_KERNEL);
        device->cache.gid_cache =
                kmalloc(sizeof *device->cache.gid_cache *
-                       (end_port(device) - start_port(device) + 1), 
GFP_KERNEL);
+                       (rdma_end_port(device) - rdma_start_port(device) + 1), 
GFP_KERNEL);
 
        device->cache.lmc_cache = kmalloc(sizeof *device->cache.lmc_cache *
-                                         (end_port(device) -
-                                          start_port(device) + 1),
+                                         (rdma_end_port(device) -
+                                          rdma_start_port(device) + 1),
                                          GFP_KERNEL);
 
        if (!device->cache.pkey_cache || !device->cache.gid_cache ||
@@ -380,10 +369,10 @@ static void ib_cache_setup_one(struct ib
                goto err;
        }
 
-       for (p = 0; p <= end_port(device) - start_port(device); ++p) {
+       for (p = 0; p <= rdma_end_port(device) - rdma_start_port(device); ++p) {
                device->cache.pkey_cache[p] = NULL;
                device->cache.gid_cache [p] = NULL;
-               ib_cache_update(device, p + start_port(device));
+               ib_cache_update(device, p + rdma_start_port(device));
        }
 
        INIT_IB_EVENT_HANDLER(&device->cache.event_handler,
@@ -394,7 +383,7 @@ static void ib_cache_setup_one(struct ib
        return;
 
 err_cache:
-       for (p = 0; p <= end_port(device) - start_port(device); ++p) {
+       for (p = 0; p <= rdma_end_port(device) - rdma_start_port(device); ++p) {
                kfree(device->cache.pkey_cache[p]);
                kfree(device->cache.gid_cache[p]);
        }
@@ -412,7 +401,7 @@ static void ib_cache_cleanup_one(struct
        ib_unregister_event_handler(&device->cache.event_handler);
        flush_workqueue(ib_wq);
 
-       for (p = 0; p <= end_port(device) - start_port(device); ++p) {
+       for (p = 0; p <= rdma_end_port(device) - rdma_start_port(device); ++p) {
                kfree(device->cache.pkey_cache[p]);
                kfree(device->cache.gid_cache[p]);
        }
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -151,18 +151,6 @@ static int alloc_name(char *name)
        return 0;
 }
 
-static int start_port(struct ib_device *device)
-{
-       return (device->node_type == RDMA_NODE_IB_SWITCH) ? 0 : 1;
-}
-
-
-static int end_port(struct ib_device *device)
-{
-       return (device->node_type == RDMA_NODE_IB_SWITCH) ?
-               0 : device->phys_port_cnt;
-}
-
 /**
  * ib_alloc_device - allocate an IB device struct
  * @size:size of structure to allocate
@@ -232,7 +220,7 @@ static int read_port_table_lengths(struc
        if (!tprops)
                goto out;
 
-       num_ports = end_port(device) - start_port(device) + 1;
+       num_ports = rdma_end_port(device) - rdma_start_port(device) + 1;
 
        device->pkey_tbl_len = kmalloc(sizeof *device->pkey_tbl_len * num_ports,
                                       GFP_KERNEL);
@@ -242,7 +230,7 @@ static int read_port_table_lengths(struc
                goto err;
 
        for (port_index = 0; port_index < num_ports; ++port_index) {
-               ret = ib_query_port(device, port_index + start_port(device),
+               ret = ib_query_port(device, port_index + 
rdma_start_port(device),
                                        tprops);
                if (ret)
                        goto err;
@@ -575,7 +563,7 @@ int ib_query_port(struct ib_device *devi
                  u8 port_num,
                  struct ib_port_attr *port_attr)
 {
-       if (port_num < start_port(device) || port_num > end_port(device))
+       if (port_num < rdma_start_port(device) || port_num > 
rdma_end_port(device))
                return -EINVAL;
 
        return device->query_port(device, port_num, port_attr);
@@ -653,7 +641,7 @@ int ib_modify_port(struct ib_device *dev
        if (!device->modify_port)
                return -ENOSYS;
 
-       if (port_num < start_port(device) || port_num > end_port(device))
+       if (port_num < rdma_start_port(device) || port_num > 
rdma_end_port(device))
                return -EINVAL;
 
        return device->modify_port(device, port_num, port_modify_mask,
@@ -676,8 +664,8 @@ int ib_find_gid(struct ib_device *device
        union ib_gid tmp_gid;
        int ret, port, i;
 
-       for (port = start_port(device); port <= end_port(device); ++port) {
-               for (i = 0; i < device->gid_tbl_len[port - start_port(device)]; 
++i) {
+       for (port = rdma_start_port(device); port <= rdma_end_port(device); 
++port) {
+               for (i = 0; i < device->gid_tbl_len[port - 
rdma_start_port(device)]; ++i) {
                        ret = ib_query_gid(device, port, i, &tmp_gid);
                        if (ret)
                                return ret;
@@ -709,7 +697,7 @@ int ib_find_pkey(struct ib_device *devic
        u16 tmp_pkey;
        int partial_ix = -1;
 
-       for (i = 0; i < device->pkey_tbl_len[port_num - start_port(device)]; 
++i) {
+       for (i = 0; i < device->pkey_tbl_len[port_num - 
rdma_start_port(device)]; ++i) {
                ret = ib_query_pkey(device, port_num, i, &tmp_pkey);
                if (ret)
                        return ret;
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1694,6 +1694,33 @@ int ib_query_port(struct ib_device *devi
 enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device,
                                               u8 port_num);
 
+/**
+ * rdma_start_port - Return the first valid port number for the device
+ * specified
+ *
+ * @device: Device to be checked
+ *
+ * Return start port number
+ */
+static inline u8 rdma_start_port(const struct ib_device *device)
+{
+       return (device->node_type == RDMA_NODE_IB_SWITCH) ? 0 : 1;
+}
+
+/**
+ * rdma_end_port - Return the last valid port number for the device
+ * specified
+ *
+ * @device: Device to be checked
+ *
+ * Return last port number
+ */
+static inline u8 rdma_end_port(const struct ib_device *device)
+{
+       return (device->node_type == RDMA_NODE_IB_SWITCH) ?
+               0 : device->phys_port_cnt;
+}
+
 int ib_query_gid(struct ib_device *device,
                 u8 port_num, int index, union ib_gid *gid);
 

Reply via email to