drm: Don't include <drm/drm_encoder.h> in <drm/drm_crtc.h>
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Mon, 28 Nov 2016 18:51:09 +0000 (20:51 +0200)
committerArchit Taneja <architt@codeaurora.org>
Sun, 18 Dec 2016 10:59:29 +0000 (16:29 +0530)
commit9338203c4f03ffe323b67f0b2fa17b9811fa9bb6
tree6f4e2ae37f7a0667f5d87b8018081a3341e2a5de
parentb44f97fd78ce252c543674c46c45e67a1b0c5d90
drm: Don't include <drm/drm_encoder.h> in <drm/drm_crtc.h>

<drm/drm_crtc.h> used to define most of the in-kernel KMS API. It has
now been split into separate files for each object type, but still
includes most other KMS headers to avoid breaking driver compilation.

As a step towards fixing that problem, remove the inclusion of
<drm/drm_encoder.h> from <drm/drm_crtc.h> and include it instead where
appropriate. Also remove the forward declarations of the drm_encoder and
drm_encoder_helper_funcs structures from <drm/drm_crtc.h> as they're not
needed in the header.

<drm/drm_encoder.h> now has to include <drm/drm_mode.h> and contain a
forward declaration of struct drm_encoder in order to allow including it
as the first header in a compilation unit.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Sinclair Yeh <syeh@vmware.com> # For vmwgfx
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1481709550-29226-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com
27 files changed:
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
drivers/gpu/drm/ast/ast_drv.h
drivers/gpu/drm/bochs/bochs.h
drivers/gpu/drm/cirrus/cirrus_drv.h
drivers/gpu/drm/drm_connector.c
drivers/gpu/drm/drm_crtc_helper.c
drivers/gpu/drm/drm_edid.c
drivers/gpu/drm/drm_mode_config.c
drivers/gpu/drm/drm_of.c
drivers/gpu/drm/drm_plane_helper.c
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h
drivers/gpu/drm/gma500/psb_intel_drv.h
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/mgag200/mgag200_drv.h
drivers/gpu/drm/nouveau/nouveau_connector.h
drivers/gpu/drm/qxl/qxl_drv.h
drivers/gpu/drm/radeon/radeon_mode.h
drivers/gpu/drm/rcar-du/rcar_du_encoder.h
drivers/gpu/drm/shmobile/shmob_drm_crtc.h
drivers/gpu/drm/tegra/drm.h
drivers/gpu/drm/vc4/vc4_drv.h
drivers/gpu/drm/virtio/virtgpu_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
include/drm/drm_crtc.h
include/drm/drm_encoder.h
include/drm/drm_encoder_slave.h
include/drm/drm_modeset_helper_vtables.h