From 7aaa1807e698f73094b78f0ef25b1a37a4409a55 Mon Sep 17 00:00:00 2001 From: Jason Gunthorpe Date: Fri, 27 Jul 2018 09:48:30 -0600 Subject: IB/cache: Restore compatibility for ib_query_gid Code changes in smc have become so complicated this cycle that the RDMA patches to remove ib_query_gid in smc create too complex merge conflicts. Allow those conflicts to be resolved by using the net/smc hunks by providing a compatibility wrapper. During the second phase of the merge window this wrapper will be deleted and smc updated to use the new API. Reported-by: Stephen Rothwell Reviewed-by: Parav Pandit Signed-off-by: Jason Gunthorpe --- include/rdma/ib_cache.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'include/rdma/ib_cache.h') diff --git a/include/rdma/ib_cache.h b/include/rdma/ib_cache.h index 1108d4220276..a4ce441f36f0 100644 --- a/include/rdma/ib_cache.h +++ b/include/rdma/ib_cache.h @@ -132,4 +132,28 @@ const struct ib_gid_attr *rdma_get_gid_attr(struct ib_device *device, u8 port_num, int index); void rdma_put_gid_attr(const struct ib_gid_attr *attr); void rdma_hold_gid_attr(const struct ib_gid_attr *attr); + +/* + * This is to be removed. It only exists to make merging rdma and smc simpler. + */ +static inline __deprecated int ib_query_gid(struct ib_device *device, + u8 port_num, int index, + union ib_gid *gid, + struct ib_gid_attr *attr_out) +{ + const struct ib_gid_attr *attr; + + attr = rdma_get_gid_attr(device, port_num, index); + if (IS_ERR(attr)) + return PTR_ERR(attr); + + if (attr->ndev) + dev_hold(attr->ndev); + *attr_out = *attr; + + rdma_put_gid_attr(attr); + + return 0; +} + #endif /* _IB_CACHE_H */ -- cgit v1.2.3