[PATCH v2 5/8] drm/atmel-hlcdc: use devm_drm_of_get_bridge()

Manikandan.M at microchip.com Manikandan.M at microchip.com
Sun Jan 4 22:20:52 PST 2026


On 18/12/25 6:56 pm, Ludovic Desroches wrote:
> Get rid of drm_of_find_panel_or_bridge() as it is deprecated and use
> devm_drm_of_get_bridge() instead.
> 
> Signed-off-by: Ludovic Desroches <ludovic.desroches at microchip.com>
Reviewed-by: Manikandan Muralidharan <manikandan.m at microchip.com>

> ---
>   drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 25 +++++-------------------
>   1 file changed, 5 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
> index e582315f70a119f2b39057ff112bc427117b85f5..e8aea905fb10d20d89c0cfd7937039b44d8a55b7 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
> @@ -69,16 +69,14 @@ static int atmel_hlcdc_attach_endpoint(struct drm_device *dev, int endpoint)
>   {
>   	struct atmel_hlcdc_rgb_output *output;
>   	struct device_node *ep;
> -	struct drm_panel *panel;
>   	struct drm_bridge *bridge;
>   	struct atmel_hlcdc_dc *dc = dev->dev_private;
>   	struct drm_crtc *crtc = dc->crtc;
> -	int ret;
> +	int ret = 0;
>   
> -	ret = drm_of_find_panel_or_bridge(dev->dev->of_node, 0, endpoint,
> -					  &panel, &bridge);
> -	if (ret)
> -		return ret;
> +	bridge = devm_drm_of_get_bridge(dev->dev, dev->dev->of_node, 0, endpoint);
> +	if (IS_ERR(bridge))
> +		return PTR_ERR(bridge);
>   
>   	output = drmm_simple_encoder_alloc(dev, struct atmel_hlcdc_rgb_output,
>   					   encoder, DRM_MODE_ENCODER_NONE);
> @@ -97,23 +95,10 @@ static int atmel_hlcdc_attach_endpoint(struct drm_device *dev, int endpoint)
>   	}
>   
>   
> -
> -	if (panel) {
> -		bridge = drm_panel_bridge_add_typed(panel,
> -						    DRM_MODE_CONNECTOR_Unknown);
> -		if (IS_ERR(bridge))
> -			return PTR_ERR(bridge);
> -	}
>   	output->encoder.possible_crtcs = drm_crtc_mask(crtc);
>   
> -	if (bridge) {
> +	if (bridge)
>   		ret = drm_bridge_attach(&output->encoder, bridge, NULL, 0);
> -		if (!ret)
> -			return 0;
> -
> -		if (panel)
> -			drm_panel_bridge_remove(bridge);
> -	}
>   
>   	return ret;
>   }
> 

-- 
Thanks and Regards,
Manikandan M.



More information about the linux-arm-kernel mailing list