On Thu, Aug 18, 2016 at 12:11:35PM +0100, Emil Velikov wrote:
> Hi Daniel,
> 
> On 17 August 2016 at 21:56, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> > --- /dev/null
> > +++ b/include/drm/drm_property.h
> 
> > +#ifndef __DRM_PROPERTY_H__
> > +#define __DRM_PROPERTY_H__
> > +
> > +#include <linux/list.h>
> > +#include <linux/ctype.h>
> > +#include <drm/drm_mode_object.h>
> > +
> Add the following fwd declaration since we use a pointer to the said
> struct ? From a brief look the other newly introduced headers
> could/should use it as well.
> 
> struct drm_device;

tbh this is only a half-useful attempt at untangling the header loop mess.
Once drm_crtc.[hc] is fully split I guess we can look into what makes
sense. I'll definitely be happy to review patches, but personally I don't
mind loops in headers much. It's annoying, but as long as things are
reasonably split and it's possible to untangle at least the
code/structures and documentation itself I'm happy.

Wrt all things drm_device: I'm not sure when (if ever) I'll cough up the
courage to split up and untangle drmP.h ;-)

> The declarations in include/drm should be the ones meant for drivers
> and there's no core drm internal ones ? Where/how does one manage API
> that should be kept private between the different core DRM components,
> even if there's symbol dependency between the different modules ?

drm_crtc_helper_internal.h, drm_crtc_internal.h and drm_internal.h, all in
drivers/gpu/drm/

Cheers, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

Reply via email to