drm/i915/dvo: Make .get_modes() return the number of modes
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 8 Jan 2020 18:12:42 +0000 (20:12 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 9 Jul 2020 13:30:48 +0000 (16:30 +0300)
.get_modes() is supposed to return the number of modes added to the
probed_modes list (not that anyone actually checks for anything
except zero vs. not zero). Let's do that.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200108181242.13650-9-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com>
drivers/gpu/drm/i915/display/intel_dvo.c

index 5cd0903..307ed8a 100644 (file)
@@ -324,6 +324,7 @@ static int intel_dvo_get_modes(struct drm_connector *connector)
        struct drm_i915_private *dev_priv = to_i915(connector->dev);
        const struct drm_display_mode *fixed_mode =
                to_intel_connector(connector)->panel.fixed_mode;
+       int num_modes;
 
        /*
         * We should probably have an i2c driver get_modes function for those
@@ -331,21 +332,22 @@ static int intel_dvo_get_modes(struct drm_connector *connector)
         * (TV-out, for example), but for now with just TMDS and LVDS,
         * that's not the case.
         */
-       intel_ddc_get_modes(connector,
-                           intel_gmbus_get_adapter(dev_priv, GMBUS_PIN_DPC));
-       if (!list_empty(&connector->probed_modes))
-               return 1;
+       num_modes = intel_ddc_get_modes(connector,
+                                       intel_gmbus_get_adapter(dev_priv, GMBUS_PIN_DPC));
+       if (num_modes)
+               return num_modes;
 
        if (fixed_mode) {
                struct drm_display_mode *mode;
+
                mode = drm_mode_duplicate(connector->dev, fixed_mode);
                if (mode) {
                        drm_mode_probed_add(connector, mode);
-                       return 1;
+                       num_modes++;
                }
        }
 
-       return 0;
+       return num_modes;
 }
 
 static const struct drm_connector_funcs intel_dvo_connector_funcs = {