drm/i2c: tda998x: get rid of private fill_modes function
authorRussell King <rmk+kernel@armlinux.org.uk>
Thu, 2 Aug 2018 09:27:15 +0000 (10:27 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Tue, 7 Aug 2018 09:32:03 +0000 (10:32 +0100)
We can achieve the same effect via the get_modes() method, rather than
wrapping the fill_modes helper.

Tested-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
drivers/gpu/drm/i2c/tda998x_drv.c

index 6308e8ec25dfb8ee88180d9ca50db91f11d0a18c..7313ff835f351de186e60f13bef676475b4e97f3 100644 (file)
@@ -1106,29 +1106,6 @@ static int tda998x_audio_codec_init(struct tda998x_priv *priv,
 
 /* DRM connector functions */
 
-static int tda998x_connector_fill_modes(struct drm_connector *connector,
-                                       uint32_t maxX, uint32_t maxY)
-{
-       struct tda998x_priv *priv = conn_to_tda998x_priv(connector);
-       int ret;
-
-       mutex_lock(&priv->audio_mutex);
-       ret = drm_helper_probe_single_connector_modes(connector, maxX, maxY);
-
-       if (connector->edid_blob_ptr) {
-               struct edid *edid = (void *)connector->edid_blob_ptr->data;
-
-               cec_notifier_set_phys_addr_from_edid(priv->cec_notify, edid);
-
-               priv->sink_has_audio = drm_detect_monitor_audio(edid);
-       } else {
-               priv->sink_has_audio = false;
-       }
-       mutex_unlock(&priv->audio_mutex);
-
-       return ret;
-}
-
 static enum drm_connector_status
 tda998x_connector_detect(struct drm_connector *connector, bool force)
 {
@@ -1147,7 +1124,7 @@ static void tda998x_connector_destroy(struct drm_connector *connector)
 static const struct drm_connector_funcs tda998x_connector_funcs = {
        .dpms = drm_helper_connector_dpms,
        .reset = drm_atomic_helper_connector_reset,
-       .fill_modes = tda998x_connector_fill_modes,
+       .fill_modes = drm_helper_probe_single_connector_modes,
        .detect = tda998x_connector_detect,
        .destroy = tda998x_connector_destroy,
        .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
@@ -1246,7 +1223,12 @@ static int tda998x_connector_get_modes(struct drm_connector *connector)
        }
 
        drm_mode_connector_update_edid_property(connector, edid);
+       cec_notifier_set_phys_addr_from_edid(priv->cec_notify, edid);
+
+       mutex_lock(&priv->audio_mutex);
        n = drm_add_edid_modes(connector, edid);
+       priv->sink_has_audio = drm_detect_monitor_audio(edid);
+       mutex_unlock(&priv->audio_mutex);
 
        kfree(edid);