Commit ec7f29ff authored by Jani Nikula's avatar Jani Nikula

drm/i915: extract intel_connector.h from intel_drv.h

It used to be handy that we only had a couple of headers, but over time
intel_drv.h has become unwieldy. Extract declarations to a separate
header file corresponding to the implementation module, clarifying the
modularity of the driver.

Ensure the new header is self-contained, and do so with minimal further
includes, using forward declarations as needed. Include the new header
only where needed, and sort the modified include directives while at it
and as needed.

No functional changes.
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Acked-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/4b8e9d1fa8f0f0420ecc65063bdb7d068c13086e.1554461791.git.jani.nikula@intel.com
parent fdc24cf3
...@@ -9,6 +9,7 @@ header_test := \ ...@@ -9,6 +9,7 @@ header_test := \
i915_scheduler_types.h \ i915_scheduler_types.h \
i915_timeline_types.h \ i915_timeline_types.h \
intel_audio.h \ intel_audio.h \
intel_connector.h \
intel_context_types.h \ intel_context_types.h \
intel_crt.h \ intel_crt.h \
intel_ddi.h \ intel_ddi.h \
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_mipi_dsi.h> #include <drm/drm_mipi_dsi.h>
#include "intel_connector.h"
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_dsi.h" #include "intel_dsi.h"
......
...@@ -23,12 +23,15 @@ ...@@ -23,12 +23,15 @@
* DEALINGS IN THE SOFTWARE. * DEALINGS IN THE SOFTWARE.
*/ */
#include <linux/slab.h>
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/slab.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_edid.h> #include <drm/drm_edid.h>
#include "intel_drv.h"
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_connector.h"
#include "intel_drv.h"
int intel_connector_init(struct intel_connector *connector) int intel_connector_init(struct intel_connector *connector)
{ {
......
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2019 Intel Corporation
*/
#ifndef __INTEL_CONNECTOR_H__
#define __INTEL_CONNECTOR_H__
#include "intel_display.h"
struct drm_connector;
struct edid;
struct i2c_adapter;
struct intel_connector;
struct intel_encoder;
int intel_connector_init(struct intel_connector *connector);
struct intel_connector *intel_connector_alloc(void);
void intel_connector_free(struct intel_connector *connector);
void intel_connector_destroy(struct drm_connector *connector);
int intel_connector_register(struct drm_connector *connector);
void intel_connector_unregister(struct drm_connector *connector);
void intel_connector_attach_encoder(struct intel_connector *connector,
struct intel_encoder *encoder);
bool intel_connector_get_hw_state(struct intel_connector *connector);
enum pipe intel_connector_get_pipe(struct intel_connector *connector);
int intel_connector_update_modes(struct drm_connector *connector,
struct edid *edid);
int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter);
void intel_attach_force_audio_property(struct drm_connector *connector);
void intel_attach_broadcast_rgb_property(struct drm_connector *connector);
void intel_attach_aspect_ratio_property(struct drm_connector *connector);
void intel_attach_colorspace_property(struct drm_connector *connector);
#endif /* __INTEL_CONNECTOR_H__ */
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <drm/i915_drm.h> #include <drm/i915_drm.h>
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_connector.h"
#include "intel_crt.h" #include "intel_crt.h"
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_audio.h" #include "intel_audio.h"
#include "intel_connector.h"
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_dsi.h" #include "intel_dsi.h"
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_audio.h" #include "intel_audio.h"
#include "intel_connector.h"
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_audio.h" #include "intel_audio.h"
#include "intel_connector.h"
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
......
...@@ -1846,25 +1846,6 @@ unsigned int i9xx_plane_max_stride(struct intel_plane *plane, ...@@ -1846,25 +1846,6 @@ unsigned int i9xx_plane_max_stride(struct intel_plane *plane,
u32 pixel_format, u64 modifier, u32 pixel_format, u64 modifier,
unsigned int rotation); unsigned int rotation);
/* intel_connector.c */
int intel_connector_init(struct intel_connector *connector);
struct intel_connector *intel_connector_alloc(void);
void intel_connector_free(struct intel_connector *connector);
void intel_connector_destroy(struct drm_connector *connector);
int intel_connector_register(struct drm_connector *connector);
void intel_connector_unregister(struct drm_connector *connector);
void intel_connector_attach_encoder(struct intel_connector *connector,
struct intel_encoder *encoder);
bool intel_connector_get_hw_state(struct intel_connector *connector);
enum pipe intel_connector_get_pipe(struct intel_connector *connector);
int intel_connector_update_modes(struct drm_connector *connector,
struct edid *edid);
int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter);
void intel_attach_force_audio_property(struct drm_connector *connector);
void intel_attach_broadcast_rgb_property(struct drm_connector *connector);
void intel_attach_aspect_ratio_property(struct drm_connector *connector);
void intel_attach_colorspace_property(struct drm_connector *connector);
/* intel_csr.c */ /* intel_csr.c */
void intel_csr_ucode_init(struct drm_i915_private *); void intel_csr_ucode_init(struct drm_i915_private *);
void intel_csr_load_program(struct drm_i915_private *); void intel_csr_load_program(struct drm_i915_private *);
......
...@@ -24,14 +24,18 @@ ...@@ -24,14 +24,18 @@
* Authors: * Authors:
* Eric Anholt <eric@anholt.net> * Eric Anholt <eric@anholt.net>
*/ */
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include "intel_drv.h"
#include <drm/i915_drm.h> #include <drm/i915_drm.h>
#include "i915_drv.h"
#include "dvo.h" #include "dvo.h"
#include "i915_drv.h"
#include "intel_connector.h"
#include "intel_drv.h"
#define SIL164_ADDR 0x38 #define SIL164_ADDR 0x38
#define CH7xxx_ADDR 0x76 #define CH7xxx_ADDR 0x76
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_audio.h" #include "intel_audio.h"
#include "intel_connector.h"
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
......
...@@ -28,17 +28,20 @@ ...@@ -28,17 +28,20 @@
*/ */
#include <acpi/button.h> #include <acpi/button.h>
#include <linux/acpi.h>
#include <linux/dmi.h> #include <linux/dmi.h>
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/vga_switcheroo.h> #include <linux/vga_switcheroo.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_edid.h> #include <drm/drm_edid.h>
#include "intel_drv.h"
#include <drm/i915_drm.h> #include <drm/i915_drm.h>
#include "i915_drv.h" #include "i915_drv.h"
#include <linux/acpi.h> #include "intel_connector.h"
#include "intel_drv.h"
/* Private structure for the integrated LVDS support */ /* Private structure for the integrated LVDS support */
struct intel_lvds_pps { struct intel_lvds_pps {
......
...@@ -33,6 +33,8 @@ ...@@ -33,6 +33,8 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/moduleparam.h> #include <linux/moduleparam.h>
#include <linux/pwm.h> #include <linux/pwm.h>
#include "intel_connector.h"
#include "intel_drv.h" #include "intel_drv.h"
#define CRC_PMIC_PWM_PERIOD_NS 21333 #define CRC_PMIC_PWM_PERIOD_NS 21333
......
...@@ -25,16 +25,20 @@ ...@@ -25,16 +25,20 @@
* Authors: * Authors:
* Eric Anholt <eric@anholt.net> * Eric Anholt <eric@anholt.net>
*/ */
#include <linux/i2c.h>
#include <linux/slab.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/export.h> #include <linux/export.h>
#include <linux/i2c.h>
#include <linux/slab.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_edid.h> #include <drm/drm_edid.h>
#include "intel_drv.h"
#include <drm/i915_drm.h> #include <drm/i915_drm.h>
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_connector.h"
#include "intel_drv.h"
#include "intel_sdvo_regs.h" #include "intel_sdvo_regs.h"
#define SDVO_TMDS_MASK (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1) #define SDVO_TMDS_MASK (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1)
......
...@@ -33,9 +33,11 @@ ...@@ -33,9 +33,11 @@
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_edid.h> #include <drm/drm_edid.h>
#include "intel_drv.h"
#include <drm/i915_drm.h> #include <drm/i915_drm.h>
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_connector.h"
#include "intel_drv.h"
enum tv_margin { enum tv_margin {
TV_MARGIN_LEFT, TV_MARGIN_TOP, TV_MARGIN_LEFT, TV_MARGIN_TOP,
......
...@@ -23,14 +23,17 @@ ...@@ -23,14 +23,17 @@
* Author: Jani Nikula <jani.nikula@intel.com> * Author: Jani Nikula <jani.nikula@intel.com>
*/ */
#include <linux/gpio/consumer.h>
#include <linux/slab.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_edid.h> #include <drm/drm_edid.h>
#include <drm/i915_drm.h>
#include <drm/drm_mipi_dsi.h> #include <drm/drm_mipi_dsi.h>
#include <linux/slab.h> #include <drm/i915_drm.h>
#include <linux/gpio/consumer.h>
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_connector.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_dsi.h" #include "intel_dsi.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment