On Tue, Feb 19, 2019 at 11:08:53AM +0100, Bernard Metzler wrote: > +static const struct ib_device_ops siw_device_ops = { > + .query_device = siw_query_device, > + .query_port = siw_query_port, > + .get_port_immutable = siw_get_port_immutable, > + .get_netdev = siw_get_netdev, This driver uses ib_device_set_netdev so get_netdev should not be set. > + .query_qp = siw_query_qp, > + .modify_port = siw_modify_port, > + .query_pkey = siw_query_pkey, > + .query_gid = siw_query_gid, > + .alloc_ucontext = siw_alloc_ucontext, > + .dealloc_ucontext = siw_dealloc_ucontext, > + .mmap = siw_mmap, > + .alloc_pd = siw_alloc_pd, > + .dealloc_pd = siw_dealloc_pd, > + .create_qp = siw_create_qp, > + .modify_qp = siw_verbs_modify_qp, > + .destroy_qp = siw_destroy_qp, > + .create_cq = siw_create_cq, > + .destroy_cq = siw_destroy_cq, > + .poll_cq = siw_poll_cq, > + .get_dma_mr = siw_get_dma_mr, > + .reg_user_mr = siw_reg_user_mr, > + .dereg_mr = siw_dereg_mr, > + .alloc_mr = siw_alloc_mr, > + .map_mr_sg = siw_map_mr_sg, > + .create_srq = siw_create_srq, > + .modify_srq = siw_modify_srq, > + .query_srq = siw_query_srq, > + .destroy_srq = siw_destroy_srq, > + .post_srq_recv = siw_post_srq_recv, > + .req_notify_cq = siw_req_notify_cq, > + .post_send = siw_post_send, > + .post_recv = siw_post_receive, > + .drain_sq = siw_verbs_sq_flush, > + .drain_rq = siw_verbs_rq_flush, > + .dealloc_driver = siw_device_cleanup, Keep lists of things sorted. Here and everywhere, makefiles, kconfig, etc. Jason