[PATCH] drm: bridge: simple-bridge: use devm_drm_bridge_add in probe

Neil Armstrong neil.armstrong at linaro.org
Wed Jun 19 08:01:53 UTC 2024


On 18/06/2024 18:19, Marc Gonzalez wrote:
> simple_bridge_probe() calls drm_bridge_add()
> Thus, drm_bridge_remove() must be called in the remove() callback.
> 
> If we call devm_drm_bridge_add() instead, then drm_bridge_remove()
> will be called automatically at device release, and the remove()
> callback is no longer required.
> 
> Signed-off-by: Marc Gonzalez <mgonzalez at freebox.fr>
> ---
> This patch was proposed in an abandoned patch series,
> but it makes sense by itself. Submit now.
> https://lore.kernel.org/r/20240617-tdp158-v1-0-df98ef7dec6d@freebox.fr
> ---
>   drivers/gpu/drm/bridge/simple-bridge.c | 13 +------------
>   1 file changed, 1 insertion(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/simple-bridge.c b/drivers/gpu/drm/bridge/simple-bridge.c
> index 5813a2c4fc5ee..dbe58f5707f08 100644
> --- a/drivers/gpu/drm/bridge/simple-bridge.c
> +++ b/drivers/gpu/drm/bridge/simple-bridge.c
> @@ -175,7 +175,6 @@ static int simple_bridge_probe(struct platform_device *pdev)
>   	sbridge = devm_kzalloc(&pdev->dev, sizeof(*sbridge), GFP_KERNEL);
>   	if (!sbridge)
>   		return -ENOMEM;
> -	platform_set_drvdata(pdev, sbridge);
>   
>   	sbridge->info = of_device_get_match_data(&pdev->dev);
>   
> @@ -213,16 +212,7 @@ static int simple_bridge_probe(struct platform_device *pdev)
>   	sbridge->bridge.of_node = pdev->dev.of_node;
>   	sbridge->bridge.timings = sbridge->info->timings;
>   
> -	drm_bridge_add(&sbridge->bridge);
> -
> -	return 0;
> -}
> -
> -static void simple_bridge_remove(struct platform_device *pdev)
> -{
> -	struct simple_bridge *sbridge = platform_get_drvdata(pdev);
> -
> -	drm_bridge_remove(&sbridge->bridge);
> +	return devm_drm_bridge_add(&pdev->dev, &sbridge->bridge);
>   }
>   
>   /*
> @@ -299,7 +289,6 @@ MODULE_DEVICE_TABLE(of, simple_bridge_match);
>   
>   static struct platform_driver simple_bridge_driver = {
>   	.probe	= simple_bridge_probe,
> -	.remove_new = simple_bridge_remove,
>   	.driver		= {
>   		.name		= "simple-bridge",
>   		.of_match_table	= simple_bridge_match,
> 
> ---
> base-commit: 17b591a4a192a8a11faad30520b8f6a9137ac514
> change-id: 20240618-devm-simple-bridge-9e163fece192
> 
> Best regards,

Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>


More information about the dri-devel mailing list