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

Attachment: signature.asc
Description: PGP signature

Reply via email to