On Fri, Feb 25, 2022 at 12:36 PM Ville Syrjälä ville.syrjala@linux.intel.com wrote:
On Fri, Feb 25, 2022 at 12:26:12PM -0800, Rob Clark wrote:
From: Rob Clark robdclark@chromium.org
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@chromium.org
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