diff options
author | Matan Barak <matanb@mellanox.com> | 2017-04-04 13:31:47 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-04-05 20:28:04 +0300 |
commit | 1e7710f3f6563940bb6bbc94aa8eadfd344a86af (patch) | |
tree | fcb76beff0bfd2e9c24e7962c5afa9c40fef25d6 /include/rdma/uverbs_std_types.h | |
parent | cf8966b3477d5e6545393bb4499f2051ea554c62 (diff) | |
download | linux-1e7710f3f6563940bb6bbc94aa8eadfd344a86af.tar.xz |
IB/core: Change completion channel to use the reworked objects schema
This patch adds the standard fd based type - completion_channel.
The completion_channel is now prefixed with ib_uobject, similarly
to the rest of the uobjects.
This requires a few changes:
(1) We define a new completion channel fd based object type.
(2) completion_event and async_event are now two different types.
This means they use different fops.
(3) We release the completion_channel exactly as we release other
idr based objects.
(4) Since ib_uobjects are already kref-ed, we only add the kref to the
async event.
A fd object requires filling out several parameters. Its op pointer
should point to uverbs_fd_ops and its size should be at least the
size if ib_uobject. We use a macro to make the type declaration
easier.
Signed-off-by: Matan Barak <matanb@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/rdma/uverbs_std_types.h')
-rw-r--r-- | include/rdma/uverbs_std_types.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/rdma/uverbs_std_types.h b/include/rdma/uverbs_std_types.h index 88856642fdf5..7771ce966952 100644 --- a/include/rdma/uverbs_std_types.h +++ b/include/rdma/uverbs_std_types.h @@ -35,6 +35,7 @@ #include <rdma/uverbs_types.h> +extern const struct uverbs_obj_fd_type uverbs_type_attrs_comp_channel; extern const struct uverbs_obj_idr_type uverbs_type_attrs_cq; extern const struct uverbs_obj_idr_type uverbs_type_attrs_qp; extern const struct uverbs_obj_idr_type uverbs_type_attrs_rwq_ind_table; |