[PATCH 14/20] drm: add convenience function to create an enum property
Daniel Vetter
daniel at ffwll.ch
Wed Feb 1 06:00:58 PST 2012
On Wed, Feb 01, 2012 at 02:05:38PM +0100, Sascha Hauer wrote:
> On Wed, Feb 01, 2012 at 07:55:40AM -0500, David Airlie wrote:
> >
> >
> > > > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> > > > index 8d593ad..cdbbb40 100644
> > > > --- a/include/drm/drm_crtc.h
> > > > +++ b/include/drm/drm_crtc.h
> > > > @@ -394,7 +394,7 @@ struct drm_crtc {
> > > > s64 framedur_ns, linedur_ns, pixeldur_ns;
> > > >
> > > > /* if you are using the helper */
> > > > - void *helper_private;
> > > > + struct drm_crtc_helper_funcs *helper_private;
> > > > };
> > > >
> > > >
> > > > @@ -481,7 +481,7 @@ struct drm_encoder {
> > > >
> > > > struct drm_crtc *crtc;
> > > > const struct drm_encoder_funcs *funcs;
> > > > - void *helper_private;
> > > > + struct drm_encoder_helper_funcs *helper_private;
> > > > };
> > > >
> > > > enum drm_connector_force {
> > > > @@ -573,7 +573,7 @@ struct drm_connector {
> > > > /* requested DPMS state */
> > > > int dpms;
> > > >
> > > > - void *helper_private;
> > > > + struct drm_connector_helper_funcs *helper_private;
> > > >
> > > > /* forced on connector */
> > > > enum drm_connector_force force;
> > >
> > > This is a separate chunk.
> >
> > And totally wrong, using the helper should remain optional, and the
> > helper includes should not be included into the main headers.
>
> The intention was to prevent people from thinking that they
> should invent their own set of helper functions. As these
> are only pointers we could also add a
>
> struct drm_crtc_helper_funcs;
> struct drm_connector_helper_funcs;
> struct drm_encoder_helper_funcs;
>
> to drm_crtc.h without having to include the helper includes.
I like this, it makes it a notch more obvious what these are for. And we
have precedence for slightly violating abstraction in this way: E.g. the
vfs isn't splattered with void pointers just because you're free to ignore
a lot of stuff (like the pagecache) when implementing an fs ...
Cheers, Daniel
--
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48
More information about the dri-devel
mailing list