[PATCH] drm/bridge: ti-sn65dsi83: Implement .detach callback

Marek Vasut marex at denx.de
Thu Oct 7 19:51:08 UTC 2021


On 10/6/21 11:47 AM, Robert Foss wrote:
>>
> On Tue, 7 Sept 2021 at 04:40, Marek Vasut <marex at denx.de> 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 at denx.de>
>> Cc: Jagan Teki <jagan at amarulasolutions.com>
>> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>> Cc: Linus Walleij <linus.walleij at linaro.org>
>> Cc: Robert Foss <robert.foss at linaro.org>
>> Cc: Sam Ravnborg <sam at ravnborg.org>
>> Cc: dri-devel at lists.freedesktop.org
>> ---
>>   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 at linaro.org>

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.


More information about the dri-devel mailing list