[PATCH 1/6] drm: include drm_device.h from drm_legacy.h

Jani Nikula jani.nikula at intel.com
Fri Dec 28 13:05:42 UTC 2018


On Fri, 28 Dec 2018, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Fri, Dec 28, 2018 at 10:23:00AM +0200, Jani Nikula wrote:
>> On Thu, 27 Dec 2018, Daniel Vetter <daniel at ffwll.ch> wrote:
>> > On Thu, Dec 27, 2018 at 05:04:20PM +0100, Daniel Vetter wrote:
>> >> On Thu, Dec 27, 2018 at 02:56:36PM +0200, Jani Nikula wrote:
>> >> > Make it easier to drop drmP.h includes.
>> >> > 
>> >> > Cc: Sam Ravnborg <sam at ravnborg.org>
>> >> > Cc: Daniel Vetter <daniel at ffwll.ch>
>> >> > Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>> >> > Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>> >> > ---
>> >> >  include/drm/drm_legacy.h | 1 +
>> >> >  1 file changed, 1 insertion(+)
>> >> > 
>> >> > diff --git a/include/drm/drm_legacy.h b/include/drm/drm_legacy.h
>> >> > index 8fad66f88e4f..743d7e70c896 100644
>> >> > --- a/include/drm/drm_legacy.h
>> >> > +++ b/include/drm/drm_legacy.h
>> >> > @@ -2,6 +2,7 @@
>> >> >  #define __DRM_DRM_LEGACY_H__
>> >> >  
>> >> >  #include <drm/drm_auth.h>
>> >> > +#include <drm/drm_device.h>
>> >> 
>> >> From a quick look, shouldn't a
>> >> 
>> >> struct drm_device;
>> >> 
>> >> forward decl be enough? You might need a pile more forward decl, but
>> >> that's all drm_device.h seems to pull in that drm_legacy.h needs.
>> >
>> > Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch> with the forward decl
>> > (assuming it all works out).
>> 
>> The forward declaration is not enough, there's a &dev->maplist reference
>> in the static inline drm_legacy_findmap().
>
> Missed that, despite that I tried checking for static inlines. And a
> static inline for a O(n) lookup ... tempted to just deinline that.
>
> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch> on either your v1 or a
> patch that deinlines the offending function and just uses a forward decl.

It'll still require drm_hashtab.h include, but less intrusive than
drm_device.h I guess. Patch sent.

BR,
Jani.


>
> Cheers, Daniel
>
>> 
>> BR,
>> Jani.
>> 
>> > -Daniel
>> >
>> >> -Daniel
>> >> >  
>> >> >  /*
>> >> >   * Legacy driver interfaces for the Direct Rendering Manager
>> >> > -- 
>> >> > 2.11.0
>> >> > 
>> >> 
>> >> -- 
>> >> Daniel Vetter
>> >> Software Engineer, Intel Corporation
>> >> http://blog.ffwll.ch
>> 
>> -- 
>> Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the dri-devel mailing list