drm/bridge: sn65dsi83: Fix bridge removal
authorMaxime Ripard <maxime@cerno.tech>
Mon, 25 Oct 2021 15:15:28 +0000 (17:15 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Wed, 27 Oct 2021 20:07:57 +0000 (22:07 +0200)
Commit 24417d5b0c00 ("drm/bridge: ti-sn65dsi83: Implement .detach
callback") moved the unregistration of the bridge DSI device and bridge
itself to the detach callback.

While this is correct for the DSI device detach and unregistration, the
bridge is added in the driver probe, and should thus be removed as part
of its remove callback.

Acked-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Marek Vasut <marex@denx.de>
Fixes: 24417d5b0c00 ("drm/bridge: ti-sn65dsi83: Implement .detach callback")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20211025151536.1048186-14-maxime@cerno.tech
drivers/gpu/drm/bridge/ti-sn65dsi83.c

index 52030a82f3e107aaaadd72d36794ed6e900e179f..3bfd07caf8d72786b9bb30996f02c9f546ff7e40 100644 (file)
@@ -297,7 +297,6 @@ static void sn65dsi83_detach(struct drm_bridge *bridge)
 
        mipi_dsi_detach(ctx->dsi);
        mipi_dsi_device_unregister(ctx->dsi);
-       drm_bridge_remove(&ctx->bridge);
        ctx->dsi = NULL;
 }
 
@@ -693,6 +692,7 @@ static int sn65dsi83_remove(struct i2c_client *client)
 {
        struct sn65dsi83 *ctx = i2c_get_clientdata(client);
 
+       drm_bridge_remove(&ctx->bridge);
        of_node_put(ctx->host_node);
 
        return 0;