summaryrefslogtreecommitdiff
path: root/include/rdma/uverbs_ioctl.h
diff options
context:
space:
mode:
authorMatan Barak <matanb@mellanox.com>2017-08-03 16:06:58 +0300
committerDoug Ledford <dledford@redhat.com>2017-08-31 08:35:09 -0400
commit5009010fbf54bdc27e57baca490e1f9d6a4609e0 (patch)
tree8dce2d8798bf1df34367554efbbd4b448ad991b8 /include/rdma/uverbs_ioctl.h
parentfac9658cabb98afb68ef1630c558864e6f559c07 (diff)
downloadlinux-5009010fbf54bdc27e57baca490e1f9d6a4609e0.tar.gz
linux-5009010fbf54bdc27e57baca490e1f9d6a4609e0.tar.xz
IB/core: Declare an object instead of declaring only type attributes
Switch all uverbs_type_attrs_xxxx with DECLARE_UVERBS_OBJECT macros. This will be later used in order to embed the object specific methods in the objects as well. 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_ioctl.h')
-rw-r--r--include/rdma/uverbs_ioctl.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/rdma/uverbs_ioctl.h b/include/rdma/uverbs_ioctl.h
index f83f56329761..99130083615e 100644
--- a/include/rdma/uverbs_ioctl.h
+++ b/include/rdma/uverbs_ioctl.h
@@ -127,6 +127,22 @@ struct uverbs_root_spec {
struct uverbs_object_spec_hash *object_buckets[0];
};
+/*
+ * =======================================
+ * Verbs definitions
+ * =======================================
+ */
+
+struct uverbs_object_def {
+ const struct uverbs_obj_type *type_attrs;
+};
+
+#define _UVERBS_OBJECT(_id, _type_attrs, ...) \
+ ((const struct uverbs_object_def) { \
+ .type_attrs = _type_attrs})
+#define DECLARE_UVERBS_OBJECT(_name, _id, _type_attrs, ...) \
+ const struct uverbs_object_def _name = \
+ _UVERBS_OBJECT(_id, _type_attrs, ##__VA_ARGS__)
/* =================================================
* Parsing infrastructure
* =================================================