In preparation to support DRM bridge hotplug, let the drm_bridge code emit an event when a bridge is detached, so that this event can trigger the actions needed to deconfigure the pipeline and unregister the connector as appropriate.
Signed-off-by: Luca Ceresoli <[email protected]> --- drivers/gpu/drm/Kconfig | 1 + drivers/gpu/drm/drm_bridge.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index 18eb33e0e5a0..081660f3a0f2 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -17,6 +17,7 @@ menuconfig DRM # device and dmabuf fd. Let's make sure that is available for our userspace. select KCMP select VIDEO + select DRM_EVENT_NOTIFIER help Kernel-level support for the Direct Rendering Infrastructure (DRI) introduced in XFree86 4.0. If you say Y here, you need to select diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c index d45fb74ec8c2..c62d17e84d4f 100644 --- a/drivers/gpu/drm/drm_bridge.c +++ b/drivers/gpu/drm/drm_bridge.c @@ -34,6 +34,7 @@ #include <drm/drm_debugfs.h> #include <drm/drm_edid.h> #include <drm/drm_encoder.h> +#include <drm/drm_event_notifier.h> #include <drm/drm_file.h> #include <drm/drm_of.h> #include <drm/drm_print.h> @@ -638,6 +639,9 @@ void drm_bridge_detach(struct drm_bridge *bridge) bridge->funcs->detach(bridge); list_del_init(&bridge->chain_node); + + drm_event_notifier_notify(DRM_BRIDGE_DETACHED, bridge); + bridge->dev = NULL; drm_bridge_put(bridge); } -- 2.54.0
