diff mbox series

[rdma-next,v4,01/18] RDMA/bnxt_re: Initialize ib_device_ops struct

Message ID 20181210143238.10775-2-kamalheib1@gmail.com (mailing list archive)
State Superseded
Delegated to: Jason Gunthorpe
Headers show
Series RDMA: Add support for ib_device_ops | expand

Commit Message

Kamal Heib Dec. 10, 2018, 2:32 p.m. UTC
Initialize ib_device_ops with the supported operations using
ib_set_device_ops().

Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
---
 drivers/infiniband/hw/bnxt_re/main.c | 96 +++++++++++++---------------
 1 file changed, 45 insertions(+), 51 deletions(-)

Comments

Jason Gunthorpe Dec. 10, 2018, 6:01 p.m. UTC | #1
On Mon, Dec 10, 2018 at 04:32:21PM +0200, Kamal Heib wrote:
> Initialize ib_device_ops with the supported operations using
> ib_set_device_ops().
> 
> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
>  drivers/infiniband/hw/bnxt_re/main.c | 96 +++++++++++++---------------
>  1 file changed, 45 insertions(+), 51 deletions(-)

I'm sure 0-day wil eventually get here, but this doesn't compile.

Every patch must compile.

Perhaps a patch is missing?

Jason
Kamal Heib Dec. 10, 2018, 6:25 p.m. UTC | #2
On Mon, Dec 10, 2018 at 11:01:44AM -0700, Jason Gunthorpe wrote:
> On Mon, Dec 10, 2018 at 04:32:21PM +0200, Kamal Heib wrote:
> > Initialize ib_device_ops with the supported operations using
> > ib_set_device_ops().
> > 
> > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> >  drivers/infiniband/hw/bnxt_re/main.c | 96 +++++++++++++---------------
> >  1 file changed, 45 insertions(+), 51 deletions(-)
> 
> I'm sure 0-day wil eventually get here, but this doesn't compile.
> 
> Every patch must compile.
> 
> Perhaps a patch is missing?
> 
> Jason

Yes, Sorry about that, I was trying to avoid including the commit [1],
which was already including in for-rc and this patch set depend on it,
but by mistake I dropped also the first patch... :/

Do you think that I should include commit [1] anyway and when merging
the for-next with for-rc you will drop it?

[1] - 4f32fb921b15 RDMA/rdmavt: Fix rvt_create_ah function signature

Thanks,
Kamal
Jason Gunthorpe Dec. 10, 2018, 6:40 p.m. UTC | #3
On Mon, Dec 10, 2018 at 08:25:23PM +0200, Kamal Heib wrote:
> On Mon, Dec 10, 2018 at 11:01:44AM -0700, Jason Gunthorpe wrote:
> > On Mon, Dec 10, 2018 at 04:32:21PM +0200, Kamal Heib wrote:
> > > Initialize ib_device_ops with the supported operations using
> > > ib_set_device_ops().
> > > 
> > > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > >  drivers/infiniband/hw/bnxt_re/main.c | 96 +++++++++++++---------------
> > >  1 file changed, 45 insertions(+), 51 deletions(-)
> > 
> > I'm sure 0-day wil eventually get here, but this doesn't compile.
> > 
> > Every patch must compile.
> > 
> > Perhaps a patch is missing?
> > 
> > Jason
> 
> Yes, Sorry about that, I was trying to avoid including the commit [1],
> which was already including in for-rc and this patch set depend on it,
> but by mistake I dropped also the first patch... :/
> 
> Do you think that I should include commit [1] anyway and when merging
> the for-next with for-rc you will drop it?

You should merge rc and next in your own tree and use the merge as the
baseline for submission, noting this in the cover letter

Jason
Kamal Heib Dec. 10, 2018, 7:08 p.m. UTC | #4
On Mon, Dec 10, 2018 at 11:40:27AM -0700, Jason Gunthorpe wrote:
> On Mon, Dec 10, 2018 at 08:25:23PM +0200, Kamal Heib wrote:
> > On Mon, Dec 10, 2018 at 11:01:44AM -0700, Jason Gunthorpe wrote:
> > > On Mon, Dec 10, 2018 at 04:32:21PM +0200, Kamal Heib wrote:
> > > > Initialize ib_device_ops with the supported operations using
> > > > ib_set_device_ops().
> > > > 
> > > > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > > >  drivers/infiniband/hw/bnxt_re/main.c | 96 +++++++++++++---------------
> > > >  1 file changed, 45 insertions(+), 51 deletions(-)
> > > 
> > > I'm sure 0-day wil eventually get here, but this doesn't compile.
> > > 
> > > Every patch must compile.
> > > 
> > > Perhaps a patch is missing?
> > > 
> > > Jason
> > 
> > Yes, Sorry about that, I was trying to avoid including the commit [1],
> > which was already including in for-rc and this patch set depend on it,
> > but by mistake I dropped also the first patch... :/
> > 
> > Do you think that I should include commit [1] anyway and when merging
> > the for-next with for-rc you will drop it?
> 
> You should merge rc and next in your own tree and use the merge as the
> baseline for submission, noting this in the cover letter
> 
> Jason

I'll fix that soon.

Thanks,
Kamal
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c
index cf2282654210..ef4d7afb3c5b 100644
--- a/drivers/infiniband/hw/bnxt_re/main.c
+++ b/drivers/infiniband/hw/bnxt_re/main.c
@@ -568,6 +568,50 @@  static void bnxt_re_unregister_ib(struct bnxt_re_dev *rdev)
 	ib_unregister_device(&rdev->ibdev);
 }
 
+static const struct ib_device_ops bnxt_re_dev_ops = {
+	.add_gid = bnxt_re_add_gid,
+	.alloc_hw_stats = bnxt_re_ib_alloc_hw_stats,
+	.alloc_mr = bnxt_re_alloc_mr,
+	.alloc_pd = bnxt_re_alloc_pd,
+	.alloc_ucontext = bnxt_re_alloc_ucontext,
+	.create_ah = bnxt_re_create_ah,
+	.create_cq = bnxt_re_create_cq,
+	.create_qp = bnxt_re_create_qp,
+	.create_srq = bnxt_re_create_srq,
+	.dealloc_pd = bnxt_re_dealloc_pd,
+	.dealloc_ucontext = bnxt_re_dealloc_ucontext,
+	.del_gid = bnxt_re_del_gid,
+	.dereg_mr = bnxt_re_dereg_mr,
+	.destroy_ah = bnxt_re_destroy_ah,
+	.destroy_cq = bnxt_re_destroy_cq,
+	.destroy_qp = bnxt_re_destroy_qp,
+	.destroy_srq = bnxt_re_destroy_srq,
+	.get_dev_fw_str = bnxt_re_query_fw_str,
+	.get_dma_mr = bnxt_re_get_dma_mr,
+	.get_hw_stats = bnxt_re_ib_get_hw_stats,
+	.get_link_layer = bnxt_re_get_link_layer,
+	.get_netdev = bnxt_re_get_netdev,
+	.get_port_immutable = bnxt_re_get_port_immutable,
+	.map_mr_sg = bnxt_re_map_mr_sg,
+	.mmap = bnxt_re_mmap,
+	.modify_ah = bnxt_re_modify_ah,
+	.modify_device = bnxt_re_modify_device,
+	.modify_qp = bnxt_re_modify_qp,
+	.modify_srq = bnxt_re_modify_srq,
+	.poll_cq = bnxt_re_poll_cq,
+	.post_recv = bnxt_re_post_recv,
+	.post_send = bnxt_re_post_send,
+	.post_srq_recv = bnxt_re_post_srq_recv,
+	.query_ah = bnxt_re_query_ah,
+	.query_device = bnxt_re_query_device,
+	.query_pkey = bnxt_re_query_pkey,
+	.query_port = bnxt_re_query_port,
+	.query_qp = bnxt_re_query_qp,
+	.query_srq = bnxt_re_query_srq,
+	.reg_user_mr = bnxt_re_reg_user_mr,
+	.req_notify_cq = bnxt_re_req_notify_cq,
+};
+
 static int bnxt_re_register_ib(struct bnxt_re_dev *rdev)
 {
 	struct ib_device *ibdev = &rdev->ibdev;
@@ -614,60 +658,10 @@  static int bnxt_re_register_ib(struct bnxt_re_dev *rdev)
 			(1ull << IB_USER_VERBS_CMD_DESTROY_AH);
 	/* POLL_CQ and REQ_NOTIFY_CQ is directly handled in libbnxt_re */
 
-	/* Kernel verbs */
-	ibdev->query_device		= bnxt_re_query_device;
-	ibdev->modify_device		= bnxt_re_modify_device;
-
-	ibdev->query_port		= bnxt_re_query_port;
-	ibdev->get_port_immutable	= bnxt_re_get_port_immutable;
-	ibdev->get_dev_fw_str           = bnxt_re_query_fw_str;
-	ibdev->query_pkey		= bnxt_re_query_pkey;
-	ibdev->get_netdev		= bnxt_re_get_netdev;
-	ibdev->add_gid			= bnxt_re_add_gid;
-	ibdev->del_gid			= bnxt_re_del_gid;
-	ibdev->get_link_layer		= bnxt_re_get_link_layer;
-
-	ibdev->alloc_pd			= bnxt_re_alloc_pd;
-	ibdev->dealloc_pd		= bnxt_re_dealloc_pd;
-
-	ibdev->create_ah		= bnxt_re_create_ah;
-	ibdev->modify_ah		= bnxt_re_modify_ah;
-	ibdev->query_ah			= bnxt_re_query_ah;
-	ibdev->destroy_ah		= bnxt_re_destroy_ah;
-
-	ibdev->create_srq		= bnxt_re_create_srq;
-	ibdev->modify_srq		= bnxt_re_modify_srq;
-	ibdev->query_srq		= bnxt_re_query_srq;
-	ibdev->destroy_srq		= bnxt_re_destroy_srq;
-	ibdev->post_srq_recv		= bnxt_re_post_srq_recv;
-
-	ibdev->create_qp		= bnxt_re_create_qp;
-	ibdev->modify_qp		= bnxt_re_modify_qp;
-	ibdev->query_qp			= bnxt_re_query_qp;
-	ibdev->destroy_qp		= bnxt_re_destroy_qp;
-
-	ibdev->post_send		= bnxt_re_post_send;
-	ibdev->post_recv		= bnxt_re_post_recv;
-
-	ibdev->create_cq		= bnxt_re_create_cq;
-	ibdev->destroy_cq		= bnxt_re_destroy_cq;
-	ibdev->poll_cq			= bnxt_re_poll_cq;
-	ibdev->req_notify_cq		= bnxt_re_req_notify_cq;
-
-	ibdev->get_dma_mr		= bnxt_re_get_dma_mr;
-	ibdev->dereg_mr			= bnxt_re_dereg_mr;
-	ibdev->alloc_mr			= bnxt_re_alloc_mr;
-	ibdev->map_mr_sg		= bnxt_re_map_mr_sg;
-
-	ibdev->reg_user_mr		= bnxt_re_reg_user_mr;
-	ibdev->alloc_ucontext		= bnxt_re_alloc_ucontext;
-	ibdev->dealloc_ucontext		= bnxt_re_dealloc_ucontext;
-	ibdev->mmap			= bnxt_re_mmap;
-	ibdev->get_hw_stats             = bnxt_re_ib_get_hw_stats;
-	ibdev->alloc_hw_stats           = bnxt_re_ib_alloc_hw_stats;
 
 	rdma_set_device_sysfs_group(ibdev, &bnxt_re_dev_attr_group);
 	ibdev->driver_id = RDMA_DRIVER_BNXT_RE;
+	ib_set_device_ops(ibdev, &bnxt_re_dev_ops);
 	return ib_register_device(ibdev, "bnxt_re%d", NULL);
 }