drm/i915: extract intel_hotplug.h from intel_drv.h and i915_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.

v2: fix sparse warnings on undeclared global functions

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190429125011.10876-1-jani.nikula@intel.com
This commit is contained in:
Jani Nikula 2019-04-29 15:50:11 +03:00
parent 440e2b3d80
commit dbeb38d93a
15 changed files with 42 additions and 16 deletions

View File

@ -36,6 +36,7 @@ header_test := \
intel_frontbuffer.h \ intel_frontbuffer.h \
intel_hdcp.h \ intel_hdcp.h \
intel_hdmi.h \ intel_hdmi.h \
intel_hotplug.h \
intel_lspcon.h \ intel_lspcon.h \
intel_lvds.h \ intel_lvds.h \
intel_panel.h \ intel_panel.h \

View File

@ -63,6 +63,7 @@
#include "intel_dp.h" #include "intel_dp.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_fbdev.h" #include "intel_fbdev.h"
#include "intel_hotplug.h"
#include "intel_pm.h" #include "intel_pm.h"
#include "intel_sprite.h" #include "intel_sprite.h"
#include "intel_uc.h" #include "intel_uc.h"

View File

@ -2717,17 +2717,6 @@ int intel_engines_init(struct drm_i915_private *dev_priv);
u32 intel_calculate_mcr_s_ss_select(struct drm_i915_private *dev_priv); u32 intel_calculate_mcr_s_ss_select(struct drm_i915_private *dev_priv);
/* intel_hotplug.c */
void intel_hpd_irq_handler(struct drm_i915_private *dev_priv,
u32 pin_mask, u32 long_mask);
void intel_hpd_init(struct drm_i915_private *dev_priv);
void intel_hpd_init_work(struct drm_i915_private *dev_priv);
void intel_hpd_cancel_work(struct drm_i915_private *dev_priv);
enum hpd_pin intel_hpd_pin_default(struct drm_i915_private *dev_priv,
enum port port);
bool intel_hpd_disable(struct drm_i915_private *dev_priv, enum hpd_pin pin);
void intel_hpd_enable(struct drm_i915_private *dev_priv, enum hpd_pin pin);
static inline void i915_queue_hangcheck(struct drm_i915_private *dev_priv) static inline void i915_queue_hangcheck(struct drm_i915_private *dev_priv)
{ {
unsigned long delay; unsigned long delay;

View File

@ -42,6 +42,7 @@
#include "i915_trace.h" #include "i915_trace.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_fifo_underrun.h" #include "intel_fifo_underrun.h"
#include "intel_hotplug.h"
#include "intel_psr.h" #include "intel_psr.h"
/** /**

View File

@ -40,6 +40,7 @@
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_fifo_underrun.h" #include "intel_fifo_underrun.h"
#include "intel_hotplug.h"
/* Here's the desired hotplug mode */ /* Here's the desired hotplug mode */
#define ADPA_HOTPLUG_BITS (ADPA_CRT_HOTPLUG_PERIOD_128 | \ #define ADPA_HOTPLUG_BITS (ADPA_CRT_HOTPLUG_PERIOD_128 | \

View File

@ -38,6 +38,7 @@
#include "intel_fifo_underrun.h" #include "intel_fifo_underrun.h"
#include "intel_hdcp.h" #include "intel_hdcp.h"
#include "intel_hdmi.h" #include "intel_hdmi.h"
#include "intel_hotplug.h"
#include "intel_lspcon.h" #include "intel_lspcon.h"
#include "intel_panel.h" #include "intel_panel.h"
#include "intel_psr.h" #include "intel_psr.h"

View File

@ -62,6 +62,7 @@
#include "intel_frontbuffer.h" #include "intel_frontbuffer.h"
#include "intel_hdcp.h" #include "intel_hdcp.h"
#include "intel_hdmi.h" #include "intel_hdmi.h"
#include "intel_hotplug.h"
#include "intel_lvds.h" #include "intel_lvds.h"
#include "intel_pipe_crc.h" #include "intel_pipe_crc.h"
#include "intel_pm.h" #include "intel_pm.h"

View File

@ -52,6 +52,7 @@
#include "intel_fifo_underrun.h" #include "intel_fifo_underrun.h"
#include "intel_hdcp.h" #include "intel_hdcp.h"
#include "intel_hdmi.h" #include "intel_hdmi.h"
#include "intel_hotplug.h"
#include "intel_lspcon.h" #include "intel_lspcon.h"
#include "intel_lvds.h" #include "intel_lvds.h"
#include "intel_panel.h" #include "intel_panel.h"

View File

@ -1779,11 +1779,6 @@ void intel_dp_mst_encoder_cleanup(struct intel_digital_port *intel_dig_port);
/* intel_dsi_dcs_backlight.c */ /* intel_dsi_dcs_backlight.c */
int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector); int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector);
/* intel_hotplug.c */
void intel_hpd_poll_init(struct drm_i915_private *dev_priv);
bool intel_encoder_hotplug(struct intel_encoder *encoder,
struct intel_connector *connector);
/* intel_overlay.c */ /* intel_overlay.c */
void intel_overlay_setup(struct drm_i915_private *dev_priv); void intel_overlay_setup(struct drm_i915_private *dev_priv);
void intel_overlay_cleanup(struct drm_i915_private *dev_priv); void intel_overlay_cleanup(struct drm_i915_private *dev_priv);

View File

@ -48,6 +48,7 @@
#include "intel_fifo_underrun.h" #include "intel_fifo_underrun.h"
#include "intel_hdcp.h" #include "intel_hdcp.h"
#include "intel_hdmi.h" #include "intel_hdmi.h"
#include "intel_hotplug.h"
#include "intel_lspcon.h" #include "intel_lspcon.h"
#include "intel_sdvo.h" #include "intel_sdvo.h"
#include "intel_panel.h" #include "intel_panel.h"

View File

@ -27,6 +27,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_hotplug.h"
/** /**
* DOC: Hotplug * DOC: Hotplug

View File

@ -0,0 +1,30 @@
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2019 Intel Corporation
*/
#ifndef __INTEL_HOTPLUG_H__
#define __INTEL_HOTPLUG_H__
#include <linux/types.h>
#include <drm/i915_drm.h>
struct drm_i915_private;
struct intel_connector;
struct intel_encoder;
void intel_hpd_poll_init(struct drm_i915_private *dev_priv);
bool intel_encoder_hotplug(struct intel_encoder *encoder,
struct intel_connector *connector);
void intel_hpd_irq_handler(struct drm_i915_private *dev_priv,
u32 pin_mask, u32 long_mask);
void intel_hpd_init(struct drm_i915_private *dev_priv);
void intel_hpd_init_work(struct drm_i915_private *dev_priv);
void intel_hpd_cancel_work(struct drm_i915_private *dev_priv);
enum hpd_pin intel_hpd_pin_default(struct drm_i915_private *dev_priv,
enum port port);
bool intel_hpd_disable(struct drm_i915_private *dev_priv, enum hpd_pin pin);
void intel_hpd_enable(struct drm_i915_private *dev_priv, enum hpd_pin pin);
#endif /* __INTEL_HOTPLUG_H__ */

View File

@ -38,6 +38,7 @@
#include "intel_csr.h" #include "intel_csr.h"
#include "intel_dp.h" #include "intel_dp.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_hotplug.h"
#include "intel_sideband.h" #include "intel_sideband.h"
/** /**

View File

@ -41,6 +41,7 @@
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_fifo_underrun.h" #include "intel_fifo_underrun.h"
#include "intel_hdmi.h" #include "intel_hdmi.h"
#include "intel_hotplug.h"
#include "intel_panel.h" #include "intel_panel.h"
#include "intel_sdvo.h" #include "intel_sdvo.h"
#include "intel_sdvo_regs.h" #include "intel_sdvo_regs.h"

View File

@ -38,6 +38,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_connector.h" #include "intel_connector.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_hotplug.h"
#include "intel_tv.h" #include "intel_tv.h"
enum tv_margin { enum tv_margin {