Basically the rule of thumb should be that no headers include i915_drv.h. It's just too big and includes the world. One of the worst is intel_display_types.h. Untangle the mess a bit. There are some changes here that are less than perfect, and there's further cleanup to be done, but with the dependency gone, it should gradually get easier. BR, Jani. Jani Nikula (8): drm/i915/display: use drm_crtc_wait_one_vblank() directly when possible drm/i915/display: remove intel_wait_for_vblank() drm/i915/crtc: un-inline some crtc functions and move to intel_crtc.[ch] drm/i915/fb: move intel_fb_uses_dpt to intel_fb.c and un-inline drm/i915: split out intel_pm_types.h drm/i915: move enum hpd_pin to intel_display.h drm/i915/display: convert dp_to_i915() to a macro drm/i915/display: stop including i915_drv.h from intel_display_types.h drivers/gpu/drm/i915/display/intel_cdclk.c | 2 +- drivers/gpu/drm/i915/display/intel_crt.c | 6 +- drivers/gpu/drm/i915/display/intel_crtc.c | 37 ++++++++ drivers/gpu/drm/i915/display/intel_crtc.h | 9 ++ drivers/gpu/drm/i915/display/intel_display.c | 37 ++++---- drivers/gpu/drm/i915/display/intel_display.h | 24 +++++ .../drm/i915/display/intel_display_types.h | 72 +++------------ drivers/gpu/drm/i915/display/intel_dp.c | 2 +- .../drm/i915/display/intel_dp_aux_backlight.c | 1 + .../drm/i915/display/intel_dp_link_training.c | 2 +- drivers/gpu/drm/i915/display/intel_dsi.c | 2 + drivers/gpu/drm/i915/display/intel_fb.c | 11 +++ drivers/gpu/drm/i915/display/intel_fb.h | 2 + drivers/gpu/drm/i915/display/intel_fb_pin.c | 10 +-- .../drm/i915/display/intel_plane_initial.c | 5 +- drivers/gpu/drm/i915/display/intel_quirks.c | 1 + drivers/gpu/drm/i915/display/intel_sdvo.c | 2 +- drivers/gpu/drm/i915/display/intel_tv.c | 7 +- drivers/gpu/drm/i915/i915_drv.h | 88 +------------------ drivers/gpu/drm/i915/intel_pm_types.h | 76 ++++++++++++++++ 20 files changed, 212 insertions(+), 184 deletions(-) create mode 100644 drivers/gpu/drm/i915/intel_pm_types.h -- 2.30.2