Commit 9bfcf194 authored by Jani Nikula's avatar Jani Nikula

drm/i915: move gmbus setup down to intel_modeset_init()

Pair the gmbus setup and teardown in the same layer. This also fixes the
double gmbus teardown on the i915_driver_modeset_probe() error path.

Move the gmbus setup a bit later in the sequence to make the follow-up
refactoring easier, and to pinpoint any unexpected consequences of this
change right here, instead of the later refactoring.
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191004122019.12009-3-jani.nikula@intel.com
parent 63bf8301
...@@ -16216,6 +16216,8 @@ int intel_modeset_init(struct drm_i915_private *i915) ...@@ -16216,6 +16216,8 @@ int intel_modeset_init(struct drm_i915_private *i915)
intel_panel_sanitize_ssc(i915); intel_panel_sanitize_ssc(i915);
intel_gmbus_setup(i915);
DRM_DEBUG_KMS("%d display pipe%s available.\n", DRM_DEBUG_KMS("%d display pipe%s available.\n",
INTEL_NUM_PIPES(i915), INTEL_NUM_PIPES(i915),
INTEL_NUM_PIPES(i915) > 1 ? "s" : ""); INTEL_NUM_PIPES(i915) > 1 ? "s" : "");
......
...@@ -53,7 +53,6 @@ ...@@ -53,7 +53,6 @@
#include "display/intel_display_types.h" #include "display/intel_display_types.h"
#include "display/intel_dp.h" #include "display/intel_dp.h"
#include "display/intel_fbdev.h" #include "display/intel_fbdev.h"
#include "display/intel_gmbus.h"
#include "display/intel_hotplug.h" #include "display/intel_hotplug.h"
#include "display/intel_overlay.h" #include "display/intel_overlay.h"
#include "display/intel_pipe_crc.h" #include "display/intel_pipe_crc.h"
...@@ -307,8 +306,6 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915) ...@@ -307,8 +306,6 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915)
if (ret) if (ret)
goto cleanup_csr; goto cleanup_csr;
intel_gmbus_setup(i915);
/* Important: The output setup functions called by modeset_init need /* Important: The output setup functions called by modeset_init need
* working irqs for e.g. gmbus and dp aux transfers. */ * working irqs for e.g. gmbus and dp aux transfers. */
ret = intel_modeset_init(i915); ret = intel_modeset_init(i915);
...@@ -343,7 +340,6 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915) ...@@ -343,7 +340,6 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915)
intel_modeset_driver_remove(i915); intel_modeset_driver_remove(i915);
cleanup_irq: cleanup_irq:
intel_irq_uninstall(i915); intel_irq_uninstall(i915);
intel_gmbus_teardown(i915);
cleanup_csr: cleanup_csr:
intel_csr_ucode_fini(i915); intel_csr_ucode_fini(i915);
intel_power_domains_driver_remove(i915); intel_power_domains_driver_remove(i915);
......
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