diff options
Diffstat (limited to 'drivers/gpu/drm/bridge/panel.c')
| -rw-r--r-- | drivers/gpu/drm/bridge/panel.c | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c index 0ddc37551194..c916f4b8907e 100644 --- a/drivers/gpu/drm/bridge/panel.c +++ b/drivers/gpu/drm/bridge/panel.c @@ -87,6 +87,18 @@ static int panel_bridge_attach(struct drm_bridge *bridge,  static void panel_bridge_detach(struct drm_bridge *bridge)  { +	struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); +	struct drm_connector *connector = &panel_bridge->connector; + +	/* +	 * Cleanup the connector if we know it was initialized. +	 * +	 * FIXME: This wouldn't be needed if the panel_bridge structure was +	 * allocated with drmm_kzalloc(). This might be tricky since the +	 * drm_device pointer can only be retrieved when the bridge is attached. +	 */ +	if (connector->dev) +		drm_connector_cleanup(connector);  }  static void panel_bridge_pre_enable(struct drm_bridge *bridge) | 
