- callers will transition to new args in upcoming patches - some macro trickery to avoid temporary renames, will be removed later Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> --- drivers/gpu/drm/nouveau/include/nvif/event.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/include/nvif/event.h b/drivers/gpu/drm/nouveau/include/nvif/event.h index 68bf6635841f..1683e138c7f8 100644 --- a/drivers/gpu/drm/nouveau/include/nvif/event.h +++ b/drivers/gpu/drm/nouveau/include/nvif/event.h @@ -24,12 +24,26 @@ int nvif_event_ctor_(struct nvif_object *, const char *, u32, nvif_event_func, b struct nvif_event_v0 *, u32, bool, struct nvif_event *); static inline int -nvif_event_ctor(struct nvif_object *parent, const char *name, u32 handle, nvif_event_func func, - bool wait, struct nvif_event_v0 *args, u32 argc, struct nvif_event *event) +nvif_event_ctor_0(struct nvif_object *parent, const char *name, u32 handle, nvif_event_func func, + bool wait, struct nvif_event_v0 *args, u32 argc, struct nvif_event *event) { return nvif_event_ctor_(parent, name, handle, func, wait, args, argc, true, event); } +static inline void +nvif_event_ctor_1(struct nvif_object *parent, const char *name, u32 handle, + nvif_event_func func, struct nvif_event *event) +{ + nvif_object_ctor(parent, name ?: "nvifEvent", handle, 0, &event->object); + event->func = func; +} + +#define nvif_event_ctor__(A,B,C,D,E,F,G,H,IMPL,...) IMPL +#define nvif_event_ctor(A...) nvif_event_ctor__(A, nvif_event_ctor_0, \ + nvif_event_ctor__, \ + nvif_event_ctor__, \ + nvif_event_ctor_1)(A) + void nvif_event_dtor(struct nvif_event *); int nvif_event_allow(struct nvif_event *); int nvif_event_block(struct nvif_event *); -- 2.41.0