@@ -26,7 +26,6 @@ struct tfp410 {
unsigned int connector_type;
u32 bus_format;
- struct i2c_adapter *ddc;
struct gpio_desc *hpd;
int hpd_irq;
struct delayed_work hpd_work;
@@ -55,10 +54,10 @@ static int tfp410_get_modes(struct drm_connector *connector)
struct edid *edid;
int ret;
- if (!dvi->ddc)
+ if (!dvi->connector.ddc)
goto fallback;
- edid = drm_get_edid(connector, dvi->ddc);
+ edid = drm_get_edid(connector, dvi->connector.ddc);
if (!edid) {
DRM_INFO("EDID read failed. Fallback to standard modes\n");
goto fallback;
@@ -98,8 +97,8 @@ tfp410_connector_detect(struct drm_connector *connector, bool force)
return connector_status_disconnected;
}
- if (dvi->ddc) {
- if (drm_probe_ddc(dvi->ddc))
+ if (dvi->connector.ddc) {
+ if (drm_probe_ddc(dvi->connector.ddc))
return connector_status_connected;
else
return connector_status_disconnected;
@@ -134,8 +133,10 @@ static int tfp410_attach(struct drm_bridge *bridge)
drm_connector_helper_add(&dvi->connector,
&tfp410_con_helper_funcs);
- ret = drm_connector_init(bridge->dev, &dvi->connector,
- &tfp410_con_funcs, dvi->connector_type);
+ ret = drm_connector_init_with_ddc(bridge->dev, &dvi->connector,
+ &tfp410_con_funcs,
+ dvi->connector_type,
+ dvi->connector.ddc);
if (ret) {
dev_err(dvi->dev, "drm_connector_init() failed: %d\n", ret);
return ret;
@@ -297,8 +298,8 @@ static int tfp410_get_connector_properties(struct tfp410 *dvi)
if (!ddc_phandle)
goto fail;
- dvi->ddc = of_get_i2c_adapter_by_node(ddc_phandle);
- if (dvi->ddc)
+ dvi->connector.ddc = of_get_i2c_adapter_by_node(ddc_phandle);
+ if (dvi->connector.ddc)
dev_info(dvi->dev, "Connector's ddc i2c bus found\n");
else
ret = -EPROBE_DEFER;
@@ -367,7 +368,7 @@ static int tfp410_init(struct device *dev, bool i2c)
return 0;
fail:
- i2c_put_adapter(dvi->ddc);
+ i2c_put_adapter(dvi->connector.ddc);
if (dvi->hpd)
gpiod_put(dvi->hpd);
return ret;
@@ -382,8 +383,8 @@ static int tfp410_fini(struct device *dev)
drm_bridge_remove(&dvi->bridge);
- if (dvi->ddc)
- i2c_put_adapter(dvi->ddc);
+ if (dvi->connector.ddc)
+ i2c_put_adapter(dvi->connector.ddc);
if (dvi->hpd)
gpiod_put(dvi->hpd);
Use the ddc pointer provided by the generic connector. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com> --- drivers/gpu/drm/bridge/ti-tfp410.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-)