[PATCH v3 06/22] drm/sun4i: hdmi: Provide ddc symlink in sun4i hdmi connector sysfs directory

Andrzej Pietrasiewicz
2019-06-28T16:01:20Z

drivers/gpu/drm/sun4i/sun4i_hdmi.h | 1 -
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 14 +++++++-------
2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi.h b/drivers/gpu/drm/sun4i/sun4i_hdmi.h
index 7ad3f06c127e..1649273b1493 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi.h
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi.h
@@ -265,7 +265,6 @@ struct sun4i_hdmi {
struct clk *tmds_clk;

struct i2c_adapter *i2c;
- struct i2c_adapter *ddc_i2c;

/* Regmap fields for I2C adapter */
struct regmap_field *field_ddc_en;
diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
index 9c3f99339b82..250bec00dc35 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
@@ -213,7 +213,7 @@ static int sun4i_hdmi_get_modes(struct drm_connector *connector)
struct edid *edid;
int ret;

- edid = drm_get_edid(connector, hdmi->ddc_i2c ?: hdmi->i2c);
+ edid = drm_get_edid(connector, connector->ddc ?: hdmi->i2c);
if (!edid)
return 0;

@@ -598,11 +598,11 @@ static int sun4i_hdmi_bind(struct device *dev, struct device *master,
goto err_disable_mod_clk;
}

- hdmi->ddc_i2c = sun4i_hdmi_get_ddc(dev);
- if (IS_ERR(hdmi->ddc_i2c)) {
- ret = PTR_ERR(hdmi->ddc_i2c);
+ hdmi->connector.ddc = sun4i_hdmi_get_ddc(dev);
+ if (IS_ERR(hdmi->connector.ddc)) {
+ ret = PTR_ERR(hdmi->connector.ddc);
if (ret == -ENODEV)
- hdmi->ddc_i2c = NULL;
+ hdmi->connector.ddc = NULL;
else
goto err_del_i2c_adapter;
}
@@ -663,7 +663,7 @@ static int sun4i_hdmi_bind(struct device *dev, struct device *master,
cec_delete_adapter(hdmi->cec_adap);
drm_encoder_cleanup(&hdmi->encoder);
err_put_ddc_i2c:
- i2c_put_adapter(hdmi->ddc_i2c);
+ i2c_put_adapter(hdmi->connector.ddc);
err_del_i2c_adapter:
i2c_del_adapter(hdmi->i2c);
err_disable_mod_clk:
@@ -684,7 +684,7 @@ static void sun4i_hdmi_unbind(struct device *dev, struct device *master,
drm_connector_cleanup(&hdmi->connector);
drm_encoder_cleanup(&hdmi->encoder);
i2c_del_adapter(hdmi->i2c);
- i2c_put_adapter(hdmi->ddc_i2c);
+ i2c_put_adapter(hdmi->connector.ddc);
clk_disable_unprepare(hdmi->mod_clk);
clk_disable_unprepare(hdmi->bus_clk);
}
--
2.17.1