Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ce2ea65 authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c



It used to be handy that we only had a couple of headers, but over time
i915_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.

While at it, rename intel_i2c.c to intel_gmbus.c and the functions to
intel_gmbus_*.

No functional changes.

Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/5834b8fbbfd4ac2e3d0159e69c87f6926066f537.1556809195.git.jani.nikula@intel.com
parent b30ed4cc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -176,8 +176,8 @@ i915-y += dvo_ch7017.o \
	  intel_dsi_dcs_backlight.o \
	  intel_dsi_vbt.o \
	  intel_dvo.o \
	  intel_gmbus.o \
	  intel_hdmi.o \
	  intel_i2c.o \
	  intel_lspcon.o \
	  intel_lvds.o \
	  intel_panel.o \
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ header_test := \
	intel_fbdev.h \
	intel_fifo_underrun.h \
	intel_frontbuffer.h \
	intel_gmbus.h \
	intel_hdcp.h \
	intel_hdmi.h \
	intel_hotplug.h \
+3 −2
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@
#include "intel_dp.h"
#include "intel_drv.h"
#include "intel_fbdev.h"
#include "intel_gmbus.h"
#include "intel_hotplug.h"
#include "intel_overlay.h"
#include "intel_pipe_crc.h"
@@ -705,7 +706,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
	if (ret)
		goto cleanup_csr;

	intel_setup_gmbus(dev_priv);
	intel_gmbus_setup(dev_priv);

	/* Important: The output setup functions called by modeset_init need
	 * working irqs for e.g. gmbus and dp aux transfers. */
@@ -740,7 +741,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
	intel_modeset_cleanup(dev);
cleanup_irq:
	drm_irq_uninstall(dev);
	intel_teardown_gmbus(dev_priv);
	intel_gmbus_teardown(dev_priv);
cleanup_csr:
	intel_csr_ucode_fini(dev_priv);
	intel_power_domains_fini_hw(dev_priv);
+0 −17
Original line number Diff line number Diff line
@@ -3235,23 +3235,6 @@ extern int i915_restore_state(struct drm_i915_private *dev_priv);
void i915_setup_sysfs(struct drm_i915_private *dev_priv);
void i915_teardown_sysfs(struct drm_i915_private *dev_priv);

/* intel_i2c.c */
extern int intel_setup_gmbus(struct drm_i915_private *dev_priv);
extern void intel_teardown_gmbus(struct drm_i915_private *dev_priv);
extern bool intel_gmbus_is_valid_pin(struct drm_i915_private *dev_priv,
				     unsigned int pin);
extern int intel_gmbus_output_aksv(struct i2c_adapter *adapter);

extern struct i2c_adapter *
intel_gmbus_get_adapter(struct drm_i915_private *dev_priv, unsigned int pin);
extern void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed);
extern void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit);
static inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter)
{
	return container_of(adapter, struct intel_gmbus, adapter)->force_bit;
}
extern void intel_i2c_reset(struct drm_i915_private *dev_priv);

/* intel_device_info.c */
static inline struct intel_device_info *
mkwrite_device_info(struct drm_i915_private *dev_priv)
+2 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
#include "i915_reg.h"
#include "intel_drv.h"
#include "intel_fbc.h"
#include "intel_gmbus.h"

static void i915_save_display(struct drm_i915_private *dev_priv)
{
@@ -144,7 +145,7 @@ int i915_restore_state(struct drm_i915_private *dev_priv)

	mutex_unlock(&dev_priv->drm.struct_mutex);

	intel_i2c_reset(dev_priv);
	intel_gmbus_reset(dev_priv);

	return 0;
}
Loading