[PATCH] drm/bridge: analogix_dp: Use devm_drm_bridge_alloc() API
Maxime Ripard
mripard at kernel.org
Mon Jun 30 16:44:24 UTC 2025
Hi,
On Fri, Jun 27, 2025 at 06:56:52PM +0200, Marek Szyprowski wrote:
> -static int analogix_dp_create_bridge(struct drm_device *drm_dev,
> - struct analogix_dp_device *dp)
> -{
> - struct drm_bridge *bridge;
> -
> - bridge = devm_kzalloc(drm_dev->dev, sizeof(*bridge), GFP_KERNEL);
> - if (!bridge) {
> - DRM_ERROR("failed to allocate for drm bridge\n");
> - return -ENOMEM;
> - }
> -
> - dp->bridge = bridge;
> -
> - bridge->driver_private = dp;
> - bridge->funcs = &analogix_dp_bridge_funcs;
> -
> - return drm_bridge_attach(dp->encoder, bridge, NULL, 0);
> -}
> -
> static int analogix_dp_dt_parse_pdata(struct analogix_dp_device *dp)
> {
> struct device_node *dp_node = dp->dev->of_node;
> @@ -1491,7 +1472,8 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
> return ERR_PTR(-EINVAL);
> }
>
> - dp = devm_kzalloc(dev, sizeof(struct analogix_dp_device), GFP_KERNEL);
> + dp = devm_drm_bridge_alloc(dev, struct analogix_dp_device, bridge,
> + &analogix_dp_bridge_funcs);
> if (!dp)
> return ERR_PTR(-ENOMEM);
>
> @@ -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?
Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 273 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20250630/113a33ca/attachment.sig>
More information about the dri-devel
mailing list