From: Harish Chegondi Date: Fri, 22 Jan 2016 20:50:36 +0000 (-0800) Subject: IB/rdmavt: Add support for rvt_query_device function X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=feaeb6e26fd15f6531e28f2900e0b59705bfc3d4;p=linux-beck.git IB/rdmavt: Add support for rvt_query_device function With this commit, the drivers using rdmavt need not define query_device function. But they should fill in the IB device attributes structure rvt_dev_info.dparms.props Reviewed-by: Dennis Dalessandro Signed-off-by: Harish Chegondi Signed-off-by: Doug Ledford --- diff --git a/drivers/infiniband/sw/rdmavt/vt.c b/drivers/infiniband/sw/rdmavt/vt.c index e75eb3d2f8a2..f2b643843374 100644 --- a/drivers/infiniband/sw/rdmavt/vt.c +++ b/drivers/infiniband/sw/rdmavt/vt.c @@ -68,10 +68,15 @@ static int rvt_query_device(struct ib_device *ibdev, struct ib_device_attr *props, struct ib_udata *uhw) { + struct rvt_dev_info *rdi = ib_to_rvt(ibdev); + + if (uhw->inlen || uhw->outlen) + return -EINVAL; /* - * Return rvt_dev_info.props contents + * Return rvt_dev_info.dparms.props contents */ - return -EOPNOTSUPP; + *props = rdi->dparms.props; + return 0; } static int rvt_modify_device(struct ib_device *device, diff --git a/include/rdma/rdma_vt.h b/include/rdma/rdma_vt.h index e412e670e687..725778a6781d 100644 --- a/include/rdma/rdma_vt.h +++ b/include/rdma/rdma_vt.h @@ -245,7 +245,10 @@ struct rvt_dev_info { * allocating space for this structure. * * The driver will also be responsible for filling in certain members of - * dparms.props + * dparms.props. The driver needs to fill in dparms exactly as it would + * want values reported to a ULP. This will be returned to the caller + * in rdmavt's device. The driver should also therefore refrain from + * modifying this directly after registration with rdmavt. */ /* Driver specific properties */