Hi, Am Mittwoch, 23. Mai 2018, 09:42:29 CEST schrieb Lin Huang: > From: Chris Zhong <zyw at rock-chips.com> > > We may support training outside firmware, so we need support > dpcd read/write to get the message or do some setting with > display. > > Signed-off-by: Chris Zhong <zyw at rock-chips.com> > Signed-off-by: Lin Huang <hl at rock-chips.com> > Reviewed-by: Sean Paul <seanpaul at chromium.org> > Reviewed-by: Enric Balletbo <enric.balletbo at collabora.com> > @@ -1030,6 +1064,13 @@ static int cdn_dp_bind(struct device *dev, struct > device *master, void *data) dp->active = false; > dp->active_port = -1; > dp->fw_loaded = false; > + dp->aux.name = "DP-AUX"; > + dp->aux.transfer = cdn_dp_aux_transfer; > + dp->aux.dev = dev; > + > + ret = drm_dp_aux_register(&dp->aux); > + if (ret) > + return ret; this is missing matching drm_dp_aux_unregister calls both in the error path as well as in the unbind callback. With the code as is, the kernel gives warnings about it trying to initialize an already initialized object ... in cases like probe-deferrals. Heiko