summaryrefslogtreecommitdiffstats
path: root/include/rdma/uverbs_ioctl.h
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2018-07-04 07:50:28 +0200
committerJason Gunthorpe <jgg@mellanox.com>2018-07-04 21:47:01 +0200
commit9a119cd597769e0dd432110361ed1deec729ac06 (patch)
tree6530b4315d47433a702bdf68ce26d3f82f868ef0 /include/rdma/uverbs_ioctl.h
parentRDMA/uverbs: Simplify UVERBS_OBJECT and _TREE family of macros (diff)
downloadlinux-9a119cd597769e0dd432110361ed1deec729ac06.tar.xz
linux-9a119cd597769e0dd432110361ed1deec729ac06.zip
RDMA/uverbs: Get rid of the & in method specifications
Hide it inside the macros. The & is confusing and interferes with using this as a generic DSL in later patches. Since this also touches almost every line, also run the specs through clang-format (with 'BinPackParameters: false') to make the maintenance easier. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Diffstat (limited to 'include/rdma/uverbs_ioctl.h')
-rw-r--r--include/rdma/uverbs_ioctl.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/include/rdma/uverbs_ioctl.h b/include/rdma/uverbs_ioctl.h
index 392936ad25ba..d21c29a0f8ec 100644
--- a/include/rdma/uverbs_ioctl.h
+++ b/include/rdma/uverbs_ioctl.h
@@ -212,7 +212,7 @@ struct uverbs_object_tree_def {
#define UA_FLAGS(_flags) .flags = _flags
#define UVERBS_ATTR_IDR(_attr_id, _idr_type, _access, ...) \
- ((const struct uverbs_attr_def){ \
+ (&(const struct uverbs_attr_def){ \
.id = _attr_id, \
.attr = { .type = UVERBS_ATTR_TYPE_IDR, \
.u.obj.obj_type = _idr_type, \
@@ -220,7 +220,7 @@ struct uverbs_object_tree_def {
__VA_ARGS__ } })
#define UVERBS_ATTR_FD(_attr_id, _fd_type, _access, ...) \
- ((const struct uverbs_attr_def){ \
+ (&(const struct uverbs_attr_def){ \
.id = (_attr_id) + \
BUILD_BUG_ON_ZERO((_access) != UVERBS_ACCESS_NEW && \
(_access) != UVERBS_ACCESS_READ), \
@@ -230,14 +230,14 @@ struct uverbs_object_tree_def {
__VA_ARGS__ } })
#define UVERBS_ATTR_PTR_IN(_attr_id, _type, ...) \
- ((const struct uverbs_attr_def){ \
+ (&(const struct uverbs_attr_def){ \
.id = _attr_id, \
.attr = { .type = UVERBS_ATTR_TYPE_PTR_IN, \
_type, \
__VA_ARGS__ } })
#define UVERBS_ATTR_PTR_OUT(_attr_id, _type, ...) \
- ((const struct uverbs_attr_def){ \
+ (&(const struct uverbs_attr_def){ \
.id = _attr_id, \
.attr = { .type = UVERBS_ATTR_TYPE_PTR_OUT, \
_type, \
@@ -245,7 +245,7 @@ struct uverbs_object_tree_def {
/* _enum_arry should be a 'static const union uverbs_attr_spec[]' */
#define UVERBS_ATTR_ENUM_IN(_attr_id, _enum_arr, ...) \
- ((const struct uverbs_attr_def){ \
+ (&(const struct uverbs_attr_def){ \
.id = _attr_id, \
.attr = { .type = UVERBS_ATTR_TYPE_ENUM_IN, \
.u2.enum_def.ids = _enum_arr, \
@@ -259,12 +259,12 @@ struct uverbs_object_tree_def {
* spec.
*/
#define UVERBS_ATTR_UHW() \
- &UVERBS_ATTR_PTR_IN(UVERBS_ATTR_UHW_IN, \
+ UVERBS_ATTR_PTR_IN(UVERBS_ATTR_UHW_IN, \
+ UVERBS_ATTR_SIZE(0, USHRT_MAX), \
+ UA_FLAGS(UVERBS_ATTR_SPEC_F_MIN_SZ_OR_ZERO)), \
+ UVERBS_ATTR_PTR_OUT(UVERBS_ATTR_UHW_OUT, \
UVERBS_ATTR_SIZE(0, USHRT_MAX), \
- UA_FLAGS(UVERBS_ATTR_SPEC_F_MIN_SZ_OR_ZERO)), \
- &UVERBS_ATTR_PTR_OUT(UVERBS_ATTR_UHW_OUT, \
- UVERBS_ATTR_SIZE(0, USHRT_MAX), \
- UA_FLAGS(UVERBS_ATTR_SPEC_F_MIN_SZ_OR_ZERO))
+ UA_FLAGS(UVERBS_ATTR_SPEC_F_MIN_SZ_OR_ZERO))
/*
* =======================================