Applied to drm-misc-next On Thu, 7 Oct 2021 at 21:51, Marek Vasut <marex@xxxxxxx> wrote: > > On 10/6/21 11:47 AM, Robert Foss wrote: > >> > > On Tue, 7 Sept 2021 at 04:40, Marek Vasut <marex@xxxxxxx> wrote: > >> > >> 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@xxxxxxx> > >> Cc: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> > >> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > >> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> > >> Cc: Robert Foss <robert.foss@xxxxxxxxxx> > >> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > >> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > >> --- > >> drivers/gpu/drm/bridge/ti-sn65dsi83.c | 17 ++++++++++++++--- > >> 1 file changed, 14 insertions(+), 3 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c b/drivers/gpu/drm/bridge/ti-sn65dsi83.c > >> index 4ea71d7f0bfbc..13ee313daba96 100644 > >> --- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c > >> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi83.c > >> @@ -288,6 +288,19 @@ static int sn65dsi83_attach(struct drm_bridge *bridge, > >> 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; > > > > Is this assignment necessary? I'm not seeing it in the other drivers. > > > > WIth this cleared up feel free to add my r-b. > > Reviewed-by: Robert Foss <robert.foss@xxxxxxxxxx> > > It works in tandem with the if (!ctx->dsi) return; at the beginning to > prevent crash in case the detach callback was called multiple times for > whatever reason.