[PATCH] drm/bridge: analogix_dp: Use devm_drm_bridge_alloc() API

Marek Szyprowski m.szyprowski at samsung.com
Mon Jul 7 09:07:26 UTC 2025


On 03.07.2025 17:50, Luca Ceresoli wrote:
> On Tue, 1 Jul 2025 16:27:54 +0200
> Maxime Ripard <mripard at kernel.org> wrote:
>
>> On Tue, Jul 01, 2025 at 04:02:19PM +0200, Luca Ceresoli wrote:
>>> Hello Marek, Maxime,
>>>
>>> thanks Marek for spotting the issue and sending a patch!
>>>
>>> On Mon, 30 Jun 2025 18:44:24 +0200
>>> Maxime Ripard <mripard at kernel.org> wrote:
>>>    
>>>>> @@ -1643,7 +1625,7 @@ int analogix_dp_bind(struct analogix_dp_device *dp, struct drm_device *drm_dev)
>>>>>   		return ret;
>>>>>   	}
>>>>>   
>>>>> -	ret = analogix_dp_create_bridge(drm_dev, dp);
>>>>> +	ret = drm_bridge_attach(dp->encoder, &dp->bridge, NULL, 0);
>>>>>   	if (ret) {
>>>>>   		DRM_ERROR("failed to create bridge (%d)\n", ret);
>>>>>   		goto err_unregister_aux;
>>>> It looks like you don't set bridge->driver_private anymore. Is it on purpose?
>>> This looks correct to me. In current code, driver_private is used to
>>> hold a pointer to the driver private struct (struct
>>> analogix_dp_device). With devm_drm_bridge_alloc() container_of() is now
>>> enough, no pointer is needed. With the patch applied, driver_private
>>> becomes unused.
>> Then we should remove it from the structure if it's unused.
> Makes sense now that struct drm_bridge is meant to be always embedded
> in a driver-private struct. But several drivers are still using it, so
> those would need to be updated beforehand:
>
> $ git grep  -l driver_private -- drivers/gpu/drm/ | wc -l
> 23
> $
>
> So I think this patch should be taken as it fixes a regression. Do you
> agree on this?

Yes, please apply it as a fix :)


BTW, there are 2 more bridge drivers that need a fix similar to the 
$subject patch:

$ git grep "bridge = devm_kzalloc" drivers/gpu
drivers/gpu/drm/sti/sti_hda.c:  bridge = devm_kzalloc(dev, 
sizeof(*bridge), GFP_KERNEL);
drivers/gpu/drm/sti/sti_hdmi.c: bridge = devm_kzalloc(dev, 
sizeof(*bridge), GFP_KERNEL);

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland



More information about the dri-devel mailing list