On Fri, Feb 25, 2022 at 12:36 PM Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > > On Fri, Feb 25, 2022 at 12:26:12PM -0800, Rob Clark wrote: > > From: Rob Clark <robdclark@xxxxxxxxxxxx> > > > > Extend the helper macro so we don't have to throw it away if driver adds > > support for optional fops, like show_fdinfo(). > > > > Signed-off-by: Rob Clark <robdclark@xxxxxxxxxxxx> > > --- > > include/drm/drm_gem.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h > > index 35e7f44c2a75..987e78b18244 100644 > > --- a/include/drm/drm_gem.h > > +++ b/include/drm/drm_gem.h > > @@ -327,7 +327,7 @@ struct drm_gem_object { > > * non-static version of this you're probably doing it wrong and will break the > > * THIS_MODULE reference by accident. > > */ > > -#define DEFINE_DRM_GEM_FOPS(name) \ > > +#define DEFINE_DRM_GEM_FOPS(name, ...) \ > > static const struct file_operations name = {\ > > .owner = THIS_MODULE,\ > > .open = drm_open,\ > > @@ -338,6 +338,7 @@ struct drm_gem_object { > > .read = drm_read,\ > > .llseek = noop_llseek,\ > > .mmap = drm_gem_mmap,\ > > + ##__VA_ARGS__\ > > } > > Would it not be less convoluted to make the macro only provide > the initializers? So you'd get something like: > > static const struct file_operations foo = { > DRM_GEM_FOPS, > .my_stuff = whatever, > }; > Hmm, I like my color of the bikeshed, but I guess it is a matter of opinion ;-) BR, -R