On Thu, May 03, 2018 at 04:37:08PM +0300, Leon Romanovsky wrote: > From: Yishai Hadas <yishaih@xxxxxxxxxxxx> > > Introduce a new macro to be used for global methods on a singleton > object. > > This macros sets internally the type_attrs to be NULL as such an object > can't be created. > > Downstream patches from this series will use this macro. > > Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > include/rdma/uverbs_named_ioctl.h | 4 ++++ > include/rdma/uverbs_std_types.h | 2 -- > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/include/rdma/uverbs_named_ioctl.h b/include/rdma/uverbs_named_ioctl.h > index c5bb4ebdb0b0..228421f2a427 100644 > +++ b/include/rdma/uverbs_named_ioctl.h > @@ -43,6 +43,7 @@ > #define _UVERBS_NAME(x, y) _UVERBS_PASTE(x, y) > #define UVERBS_METHOD(id) _UVERBS_NAME(UVERBS_MODULE_NAME, _method_##id) > #define UVERBS_HANDLER(id) _UVERBS_NAME(UVERBS_MODULE_NAME, _handler_##id) > +#define UVERBS_OBJECT(id) _UVERBS_NAME(UVERBS_MOUDLE_NAME, _object_##id) > > #define DECLARE_UVERBS_NAMED_METHOD(id, ...) \ > DECLARE_UVERBS_METHOD(UVERBS_METHOD(id), id, UVERBS_HANDLER(id), ##__VA_ARGS__) > @@ -56,6 +57,9 @@ > #define DECLARE_UVERBS_NAMED_OBJECT(id, ...) \ > DECLARE_UVERBS_OBJECT(UVERBS_OBJECT(id), id, ##__VA_ARGS__) > > +#define DECLARE_UVERBS_GLOBAL_METHODS(_name, ...) \ > + DECLARE_UVERBS_NAMED_OBJECT(_name, NULL, ##__VA_ARGS__) I don't really understand, and don't like that a 'global method' is associated with an object of some type. It makes no sense, these are not 'static' methods in a C++ sense, but true 'free functions', so they shouldn't be linked to an object. Same question applies to the UVERBS_OBJECT_DEVICE too, why does it exist at all? Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html