drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c
authorJani Nikula <jani.nikula@intel.com>
Thu, 2 May 2019 15:02:47 +0000 (18:02 +0300)
committerJani Nikula <jani.nikula@intel.com>
Fri, 3 May 2019 07:06:55 +0000 (10:06 +0300)
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: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/5834b8fbbfd4ac2e3d0159e69c87f6926066f537.1556809195.git.jani.nikula@intel.com
15 files changed:
drivers/gpu/drm/i915/Makefile
drivers/gpu/drm/i915/Makefile.header-test
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_suspend.c
drivers/gpu/drm/i915/intel_bios.c
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dvo.c
drivers/gpu/drm/i915/intel_gmbus.c [moved from drivers/gpu/drm/i915/intel_i2c.c with 98% similarity]
drivers/gpu/drm/i915/intel_gmbus.h [new file with mode: 0644]
drivers/gpu/drm/i915/intel_hdmi.c
drivers/gpu/drm/i915/intel_lvds.c
drivers/gpu/drm/i915/intel_sdvo.c

index 58643373495c3de09e8be71df87768530dacbb29..68106fe35a04bfa29c9eb6e8835c8af33e0cee6c 100644 (file)
@@ -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 \
index f71ea7f2976f133b427d1ac0c3beaecd2aab07c2..2ca4a5fa31864cfb82346e65f49c01939f9b8f8f 100644 (file)
@@ -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 \
index 57060a663579fa830538dd4f14022b0b8c1b2918..e6ce530d7581e8056c19d894870fc4ac7fa67175 100644 (file)
@@ -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 @@ cleanup_modeset:
        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);
index d167053d6fce3c011b937728a99ce29960cbd830..64fa353a62bbe012fa792789f2a08f6eceaeadf9 100644 (file)
@@ -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)
index 95f3dab1b2292fca7fad52a8b670e43dfb1e0845..581201bcb81ad0cb0375d826f6b969f063998c6f 100644 (file)
@@ -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;
 }
index 1dc8d03ff1279691f9b0492225183235a13bbd97..a0b708f7f384530deb3204c35e487917fb80b3e0 100644 (file)
@@ -27,7 +27,9 @@
 
 #include <drm/drm_dp_helper.h>
 #include <drm/i915_drm.h>
+
 #include "i915_drv.h"
+#include "intel_gmbus.h"
 
 #define _INTEL_BIOS_PRIVATE
 #include "intel_vbt_defs.h"
index eb81b4884570fbfb92901f7f33f75ce622ec41ff..bb56518576a1c0bc7209e5053119500fcc8c4edc 100644 (file)
@@ -40,6 +40,7 @@
 #include "intel_ddi.h"
 #include "intel_drv.h"
 #include "intel_fifo_underrun.h"
+#include "intel_gmbus.h"
 #include "intel_hotplug.h"
 
 /* Here's the desired hotplug mode */
index ec6ed93d7c0ae5252ce406b71109230971d64d71..cd5277d98b034f29597b6e8645b70697b23c8f08 100644 (file)
@@ -38,6 +38,7 @@
 #include "intel_drv.h"
 #include "intel_dsi.h"
 #include "intel_fifo_underrun.h"
+#include "intel_gmbus.h"
 #include "intel_hdcp.h"
 #include "intel_hdmi.h"
 #include "intel_hotplug.h"
index cb1815bdf0884a34060f1ab25683cc93ed7c669b..f9b3a71c45901739213db3fc33abcacf0ce91b10 100644 (file)
@@ -62,6 +62,7 @@
 #include "intel_fbdev.h"
 #include "intel_fifo_underrun.h"
 #include "intel_frontbuffer.h"
+#include "intel_gmbus.h"
 #include "intel_hdcp.h"
 #include "intel_hdmi.h"
 #include "intel_hotplug.h"
@@ -16641,7 +16642,7 @@ void intel_modeset_cleanup(struct drm_device *dev)
 
        intel_overlay_cleanup(dev_priv);
 
-       intel_teardown_gmbus(dev_priv);
+       intel_gmbus_teardown(dev_priv);
 
        destroy_workqueue(dev_priv->modeset_wq);
 
index 79a43f4c99dfb9e235a46cd411414d1cd8342ca2..22666d28f4aa5e973e93954d0ac1640a31ca708c 100644 (file)
@@ -37,6 +37,7 @@
 #include "intel_drv.h"
 #include "intel_dvo.h"
 #include "intel_dvo_dev.h"
+#include "intel_gmbus.h"
 #include "intel_panel.h"
 
 #define INTEL_DVO_CHIP_NONE    0
similarity index 98%
rename from drivers/gpu/drm/i915/intel_i2c.c
rename to drivers/gpu/drm/i915/intel_gmbus.c
index 422685d120e942a71ad6c501919a19caad00beeb..8c36a06bda3f9a22dc8f7212d06a31625a566428 100644 (file)
  *     Eric Anholt <eric@anholt.net>
  *     Chris Wilson <chris@chris-wilson.co.uk>
  */
-#include <linux/i2c.h>
-#include <linux/i2c-algo-bit.h>
+
 #include <linux/export.h>
+#include <linux/i2c-algo-bit.h>
+#include <linux/i2c.h>
+
 #include <drm/drm_hdcp.h>
-#include "intel_drv.h"
 #include <drm/i915_drm.h>
+
 #include "i915_drv.h"
+#include "intel_drv.h"
+#include "intel_gmbus.h"
 
 struct gmbus_pin {
        const char *name;
@@ -134,7 +138,7 @@ to_intel_gmbus(struct i2c_adapter *i2c)
 }
 
 void
-intel_i2c_reset(struct drm_i915_private *dev_priv)
+intel_gmbus_reset(struct drm_i915_private *dev_priv)
 {
        I915_WRITE(GMBUS0, 0);
        I915_WRITE(GMBUS4, 0);
@@ -256,7 +260,7 @@ intel_gpio_pre_xfer(struct i2c_adapter *adapter)
                                               adapter);
        struct drm_i915_private *dev_priv = bus->dev_priv;
 
-       intel_i2c_reset(dev_priv);
+       intel_gmbus_reset(dev_priv);
 
        if (IS_PINEVIEW(dev_priv))
                pnv_gmbus_clock_gating(dev_priv, false);
@@ -811,7 +815,7 @@ static const struct i2c_lock_operations gmbus_lock_ops = {
  * intel_gmbus_setup - instantiate all Intel i2c GMBuses
  * @dev_priv: i915 device private
  */
-int intel_setup_gmbus(struct drm_i915_private *dev_priv)
+int intel_gmbus_setup(struct drm_i915_private *dev_priv)
 {
        struct pci_dev *pdev = dev_priv->drm.pdev;
        struct intel_gmbus *bus;
@@ -872,7 +876,7 @@ int intel_setup_gmbus(struct drm_i915_private *dev_priv)
                        goto err;
        }
 
-       intel_i2c_reset(dev_priv);
+       intel_gmbus_reset(dev_priv);
 
        return 0;
 
@@ -918,7 +922,14 @@ void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit)
        mutex_unlock(&dev_priv->gmbus_mutex);
 }
 
-void intel_teardown_gmbus(struct drm_i915_private *dev_priv)
+bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter)
+{
+       struct intel_gmbus *bus = to_intel_gmbus(adapter);
+
+       return bus->force_bit;
+}
+
+void intel_gmbus_teardown(struct drm_i915_private *dev_priv)
 {
        struct intel_gmbus *bus;
        unsigned int pin;
diff --git a/drivers/gpu/drm/i915/intel_gmbus.h b/drivers/gpu/drm/i915/intel_gmbus.h
new file mode 100644 (file)
index 0000000..d989085
--- /dev/null
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2019 Intel Corporation
+ */
+
+#ifndef __INTEL_GMBUS_H__
+#define __INTEL_GMBUS_H__
+
+#include <linux/types.h>
+
+struct drm_i915_private;
+struct i2c_adapter;
+
+int intel_gmbus_setup(struct drm_i915_private *dev_priv);
+void intel_gmbus_teardown(struct drm_i915_private *dev_priv);
+bool intel_gmbus_is_valid_pin(struct drm_i915_private *dev_priv,
+                             unsigned int pin);
+int intel_gmbus_output_aksv(struct i2c_adapter *adapter);
+
+struct i2c_adapter *
+intel_gmbus_get_adapter(struct drm_i915_private *dev_priv, unsigned int pin);
+void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed);
+void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit);
+bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter);
+void intel_gmbus_reset(struct drm_i915_private *dev_priv);
+
+#endif /* __INTEL_GMBUS_H__ */
index f76327004eab2b55a97a7cced67a512924220306..d1457524101101a558aba15d1743bc2df0f06676 100644 (file)
@@ -49,6 +49,7 @@
 #include "intel_dpio_phy.h"
 #include "intel_drv.h"
 #include "intel_fifo_underrun.h"
+#include "intel_gmbus.h"
 #include "intel_hdcp.h"
 #include "intel_hdmi.h"
 #include "intel_hotplug.h"
index dcfca443f4797c758c9448f333eb0982e1ff1ead..efefed62a7f86aed0da29e1d189007a49f455399 100644 (file)
@@ -43,6 +43,7 @@
 #include "intel_atomic.h"
 #include "intel_connector.h"
 #include "intel_drv.h"
+#include "intel_gmbus.h"
 #include "intel_lvds.h"
 #include "intel_panel.h"
 
index 743e7458475c3db470d18906df961dacaedec90d..6c98b35790db5e3841edf753b3267938e95d4ffc 100644 (file)
@@ -41,6 +41,7 @@
 #include "intel_connector.h"
 #include "intel_drv.h"
 #include "intel_fifo_underrun.h"
+#include "intel_gmbus.h"
 #include "intel_hdmi.h"
 #include "intel_hotplug.h"
 #include "intel_panel.h"