On 2/21/2019 6:02 PM, Jason Gunthorpe wrote: > 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. Should ib_device_set_netdev() have a WARN() for this perhaps? >> + .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