[PATCH v5 1/4] drm/bridge: analogix_dp: set connector to drm_dp_aux

From: Tomeu Vizoso
Date: Thu Jan 12 2017 - 03:59:17 EST


Set the backpointer so that the DP helpers are able to access the
connector that the drm_dp_aux is associated with.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
---

drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index e7cd1056ff2d..44c2b74bf771 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1403,26 +1403,28 @@ int analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
dp->drm_dev = drm_dev;
dp->encoder = dp->plat_data->encoder;

+ ret = analogix_dp_create_bridge(drm_dev, dp);
+ if (ret) {
+ DRM_ERROR("failed to create bridge (%d)\n", ret);
+ goto err_encoder_cleanup;
+ }
+
dp->aux.name = "DP-AUX";
dp->aux.transfer = analogix_dpaux_transfer;
dp->aux.dev = &pdev->dev;
+ dp->aux.connector = &dp->connector;

ret = drm_dp_aux_register(&dp->aux);
if (ret)
- goto err_disable_pm_runtime;
-
- ret = analogix_dp_create_bridge(drm_dev, dp);
- if (ret) {
- DRM_ERROR("failed to create bridge (%d)\n", ret);
- drm_encoder_cleanup(dp->encoder);
- goto err_disable_pm_runtime;
- }
+ goto err_encoder_cleanup;

phy_power_off(dp->phy);
pm_runtime_put(dev);

return 0;

+err_encoder_cleanup:
+ drm_encoder_cleanup(dp->encoder);
err_disable_pm_runtime:

phy_power_off(dp->phy);
--
2.9.3