This patch is v3 of the first 2 patches from my RFC series ("drm/dp: Improvements for DP AUX channel") [1]. I've broken the series in two so we can make progress on the two halves separately. v2 of this series tries to incorporate all the feedback from v1. Hopefully things are less confusing and simpler this time around. The one thing that got slightly more confusing is that the done_probing() callback can't return -EPROBE_DEFER in most cases so we have to adjust drivers a little more. v3 takes Dmitry's advice on v2. This now introduces devm_drm_bridge_add() (in an extra patch), splits some fixups into their own patch, uses a new name for functions, and requires an explicit call to done_probing if you have no children. The idea for this series came up during the review process of Sankeerth's series trying to add eDP for Qualcomm SoCs [2]. This _doesn't_ attempt to fix the Analogix driver. If this works out, ideally someone can post a patch up to do that. NOTE: I don't have any ps8640 devices that _don't_ use the aux panel underneath them, so I'm relying on code inspection to make sure I didn't break those. If someone sees that I did something wrong for that case then please yell! [1] https://lore.kernel.org/r/20220409023628.2104952-1-dianders@xxxxxxxxxxxx/ [2] https://lore.kernel.org/r/1648656179-10347-2-git-send-email-quic_sbillaka@xxxxxxxxxxx/ Changes in v3: - Adapt to v3 changes in aux bus. - Don't call done_probing() if there are no children; return -ENODEV. - Patch ("drm/bridge: Add devm_drm_bridge_add()") new for v3. - Patch ("drm/dp: Export symbol / kerneldoc fixes...") split for v3. - Split out EXPORT_SYMBOL and kerneldoc fixes to its own patch. - Use devm_drm_bridge_add() to simplify. - Used Dmitry's proposed name: of_dp_aux_populate_bus() Changes in v2: - Change to assume exactly one device. - Have a probe callback instead of an extra sub device. - Rewrote atop new method introduced by patch #1. Douglas Anderson (4): drm/dp: Export symbol / kerneldoc fixes for DP AUX bus drm/dp: Add callbacks to make using DP AUX bus properly easier drm/bridge: Add devm_drm_bridge_add() drm/bridge: parade-ps8640: Handle DP AUX more properly drivers/gpu/drm/bridge/parade-ps8640.c | 74 +++++--- drivers/gpu/drm/display/drm_dp_aux_bus.c | 211 +++++++++++++++-------- drivers/gpu/drm/drm_bridge.c | 23 +++ include/drm/display/drm_dp_aux_bus.h | 34 +++- include/drm/drm_bridge.h | 1 + 5 files changed, 238 insertions(+), 105 deletions(-) -- 2.36.0.550.gb090851708-goog