drm/bridge: ti-sn65dsi83: Implement .detach callback
Move detach implementation from sn65dsi83_remove() to dedicated .detach callback. There is no functional change to the code, but that detach is now in the correct location. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Jagan Teki <jagan@amarulasolutions.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Robert Foss <robert.foss@linaro.org> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: dri-devel@lists.freedesktop.org Reviewed-by: Robert Foss <robert.foss@linaro.org> Signed-off-by: Robert Foss <robert.foss@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20210907024038.871299-1-marex@denx.de
This commit is contained in:
parent
7cd80132ae
commit
24417d5b0c
1 changed files with 14 additions and 3 deletions
|
@ -288,6 +288,19 @@ err_dsi_attach:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void sn65dsi83_detach(struct drm_bridge *bridge)
|
||||||
|
{
|
||||||
|
struct sn65dsi83 *ctx = bridge_to_sn65dsi83(bridge);
|
||||||
|
|
||||||
|
if (!ctx->dsi)
|
||||||
|
return;
|
||||||
|
|
||||||
|
mipi_dsi_detach(ctx->dsi);
|
||||||
|
mipi_dsi_device_unregister(ctx->dsi);
|
||||||
|
drm_bridge_remove(&ctx->bridge);
|
||||||
|
ctx->dsi = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static void sn65dsi83_atomic_pre_enable(struct drm_bridge *bridge,
|
static void sn65dsi83_atomic_pre_enable(struct drm_bridge *bridge,
|
||||||
struct drm_bridge_state *old_bridge_state)
|
struct drm_bridge_state *old_bridge_state)
|
||||||
{
|
{
|
||||||
|
@ -583,6 +596,7 @@ sn65dsi83_atomic_get_input_bus_fmts(struct drm_bridge *bridge,
|
||||||
|
|
||||||
static const struct drm_bridge_funcs sn65dsi83_funcs = {
|
static const struct drm_bridge_funcs sn65dsi83_funcs = {
|
||||||
.attach = sn65dsi83_attach,
|
.attach = sn65dsi83_attach,
|
||||||
|
.detach = sn65dsi83_detach,
|
||||||
.atomic_pre_enable = sn65dsi83_atomic_pre_enable,
|
.atomic_pre_enable = sn65dsi83_atomic_pre_enable,
|
||||||
.atomic_enable = sn65dsi83_atomic_enable,
|
.atomic_enable = sn65dsi83_atomic_enable,
|
||||||
.atomic_disable = sn65dsi83_atomic_disable,
|
.atomic_disable = sn65dsi83_atomic_disable,
|
||||||
|
@ -697,9 +711,6 @@ static int sn65dsi83_remove(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
struct sn65dsi83 *ctx = i2c_get_clientdata(client);
|
struct sn65dsi83 *ctx = i2c_get_clientdata(client);
|
||||||
|
|
||||||
mipi_dsi_detach(ctx->dsi);
|
|
||||||
mipi_dsi_device_unregister(ctx->dsi);
|
|
||||||
drm_bridge_remove(&ctx->bridge);
|
|
||||||
of_node_put(ctx->host_node);
|
of_node_put(ctx->host_node);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue