drm/dp: Add backpointer to drm_device in drm_dp_aux
authorLyude Paul <lyude@redhat.com>
Fri, 23 Apr 2021 18:42:55 +0000 (14:42 -0400)
committerLyude Paul <lyude@redhat.com>
Tue, 27 Apr 2021 22:43:42 +0000 (18:43 -0400)
commit6cba3fe433415b2549c909ce72601902c8254a83
treec5b515f79bfbdd309e30f95a3136c2bb4ec6cf76
parentfd43ad9d47e74018d4487dcb3f828ae398fb3530
drm/dp: Add backpointer to drm_device in drm_dp_aux

This is something that we've wanted for a while now: the ability to
actually look up the respective drm_device for a given drm_dp_aux struct.
This will also allow us to transition over to using the drm_dbg_*() helpers
for debug message printing, as we'll finally have a drm_device to reference
for doing so.

Note that there is one limitation with this - because some DP AUX adapters
exist as platform devices which are initialized independently of their
respective DRM devices, one cannot rely on drm_dp_aux->drm_dev to always be
non-NULL until drm_dp_aux_register() has been called. We make sure to point
this out in the documentation for struct drm_dp_aux.

v3:
* Add WARN_ON_ONCE() to drm_dp_aux_register() if drm_dev isn't filled out

Signed-off-by: Lyude Paul <lyude@redhat.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210423184309.207645-4-lyude@redhat.com
Reviewed-by: Dave Airlie <airlied@redhat.com>
20 files changed:
drivers/gpu/drm/amd/amdgpu/atombios_dp.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
drivers/gpu/drm/bridge/tc358767.c
drivers/gpu/drm/bridge/ti-sn65dsi86.c
drivers/gpu/drm/drm_dp_aux_dev.c
drivers/gpu/drm/drm_dp_helper.c
drivers/gpu/drm/drm_dp_mst_topology.c
drivers/gpu/drm/i915/display/intel_dp_aux.c
drivers/gpu/drm/msm/edp/edp.h
drivers/gpu/drm/msm/edp/edp_aux.c
drivers/gpu/drm/msm/edp/edp_ctrl.c
drivers/gpu/drm/nouveau/nouveau_connector.c
drivers/gpu/drm/radeon/atombios_dp.c
drivers/gpu/drm/tegra/dpaux.c
drivers/gpu/drm/xlnx/zynqmp_dp.c
include/drm/drm_dp_helper.h