[PATCH 2/3] drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC

Daniel Vetter daniel at ffwll.ch
Wed Jul 27 13:09:34 UTC 2016


On Wed, Jul 27, 2016 at 11:59:10AM +0200, Stefan Christ wrote:
> Hi Daniel,
> 
> I finally found some time to look into this issue again.
> 
> On Fri, Jul 15, 2016 at 09:19:22AM +0200, Daniel Vetter wrote:
> > <snippet>
> > 
> > To roll new vfuncs out consistently I think it'd be great to create a
> > DRM_FB_HELPER_DEFAULT_OPS #define which sets all the fb_ops. Drivers can
> > then overwrite just what they need, e.g.
> > 
> > static struct fb_ops drm_fbdev_cma_ops = {
> > 	.owner		= THIS_MODULE,
> > 	DRM_FB_HELPER_DEFAULT_OPS,
> > 	.fb_mmap 	= drm_fb_cma_mmap,
> > };
> > 
> > Maybe even include the .owner = THIS_MODULE line in the macro, but that
> > might be too much magic and mislead people into reusing it when it's not
> > the same module.
> > 
> > Of course this would be an additional (subsystem-wide) prep patch before
> > this one here.
> > -Daniel
> 
> Ok. This pattern seems like single inheritance in object-oriented programming
> languages ;-) The define looks very reasonable since these drm helper functions
> are used in lot of drivers.
> 
> I would also not include '.owner = THIS_MODULE' in the define, because it would
> contain even more magic.

Agreed, that's why I left it out in the example.

> What is the preferred way for subsystem-wide patches? One big patch, one patch
> per driver or group of drivers per patch?

Since this patch is not a flag day I'd say 1 patch to create the #define,
1 patch per driver (with maintainers/mailing lists per
scripts/get_maintainers.pl on cc) for each driver. It's a bit busy work,
but easiest to do that way. For flag-day changes you kinda have to do 1
huge patch, but that easily runs into cc limits of various mailing lists.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list