drm/i915/dsi: remove support for more than one panel driver
authorJani Nikula <jani.nikula@intel.com>
Mon, 6 Mar 2017 14:31:24 +0000 (16:31 +0200)
committerJani Nikula <jani.nikula@intel.com>
Tue, 7 Mar 2017 13:16:40 +0000 (15:16 +0200)
Fact is, there are no other panel drivers except the VBT based
one. Simplify the code and maintenance. No functional changes.

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Madhav Chauhan <madhav.chauhan@intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Bob Paauwe <bob.j.paauwe@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/7dfd041dd25e8e930150ede09589bb232f6248d5.1488810382.git.jani.nikula@intel.com
drivers/gpu/drm/i915/intel_dsi.c
drivers/gpu/drm/i915/intel_dsi.h
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c

index 323fc09..316a0d6 100644 (file)
 #include "intel_drv.h"
 #include "intel_dsi.h"
 
-static const struct {
-       u16 panel_id;
-       struct drm_panel * (*init)(struct intel_dsi *intel_dsi, u16 panel_id);
-} intel_dsi_drivers[] = {
-       {
-               .panel_id = MIPI_DSI_GENERIC_PANEL_ID,
-               .init = vbt_panel_init,
-       },
-};
-
 /* return pixels in terms of txbyteclkhs */
 static u16 txbyteclkhs(u16 pixels, int bpp, int lane_count,
                       u16 burst_mode_ratio)
@@ -1709,7 +1699,6 @@ void intel_dsi_init(struct drm_i915_private *dev_priv)
        struct drm_connector *connector;
        struct drm_display_mode *scan, *fixed_mode = NULL;
        enum port port;
-       unsigned int i;
 
        DRM_DEBUG_KMS("\n");
 
@@ -1816,13 +1805,7 @@ void intel_dsi_init(struct drm_i915_private *dev_priv)
                intel_dsi->dsi_hosts[port] = host;
        }
 
-       for (i = 0; i < ARRAY_SIZE(intel_dsi_drivers); i++) {
-               intel_dsi->panel = intel_dsi_drivers[i].init(intel_dsi,
-                                                            intel_dsi_drivers[i].panel_id);
-               if (intel_dsi->panel)
-                       break;
-       }
-
+       intel_dsi->panel = intel_dsi_vbt_init(intel_dsi, MIPI_DSI_GENERIC_PANEL_ID);
        if (!intel_dsi->panel) {
                DRM_DEBUG_KMS("no device found\n");
                goto err;
index 5486491..ac2f9e4 100644 (file)
@@ -146,7 +146,7 @@ u32 intel_dsi_get_pclk(struct intel_encoder *encoder, int pipe_bpp,
 void intel_dsi_reset_clocks(struct intel_encoder *encoder,
                            enum port port);
 
-struct drm_panel *vbt_panel_init(struct intel_dsi *intel_dsi, u16 panel_id);
+struct drm_panel *intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id);
 enum mipi_dsi_pixel_format pixel_format_from_register_bits(u32 fmt);
 
 #endif /* _INTEL_DSI_H */
index ab922b6..67d5092 100644 (file)
@@ -518,7 +518,7 @@ static const struct drm_panel_funcs vbt_panel_funcs = {
        .get_modes = vbt_panel_get_modes,
 };
 
-struct drm_panel *vbt_panel_init(struct intel_dsi *intel_dsi, u16 panel_id)
+struct drm_panel *intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id)
 {
        struct drm_device *dev = intel_dsi->base.base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);