| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- diff -Nur linux-7.1.6.orig/drivers/gpu/drm/ingenic/ingenic-drm-drv.c linux-7.1.6/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
- --- linux-7.1.6.orig/drivers/gpu/drm/ingenic/ingenic-drm-drv.c 2026-08-03 11:26:04.000000000 +0200
- +++ linux-7.1.6/drivers/gpu/drm/ingenic/ingenic-drm-drv.c 2026-08-08 18:30:45.954826030 +0200
- @@ -122,7 +122,7 @@
-
- struct ingenic_drm_bridge {
- struct drm_encoder encoder;
- - struct drm_bridge bridge, *next_bridge;
- + struct drm_bridge *bridge, *next_bridge;
-
- struct drm_bus_cfg bus_cfg;
- };
- @@ -802,7 +802,7 @@
- struct ingenic_drm_bridge *ib = to_ingenic_drm_bridge(encoder);
-
- return drm_bridge_attach(encoder, ib->next_bridge,
- - &ib->bridge, flags);
- + bridge, flags);
- }
-
- static int ingenic_drm_bridge_atomic_check(struct drm_bridge *bridge,
- @@ -1314,10 +1314,24 @@
-
- drm_encoder_helper_add(encoder, &ingenic_drm_encoder_helper_funcs);
-
- - ib->bridge.funcs = &ingenic_drm_bridge_funcs;
- + ib->bridge = devm_drm_bridge_alloc(priv->dev, struct drm_bridge,
- + base, &ingenic_drm_bridge_funcs);
- + if (IS_ERR(ib->bridge)) {
- + ret = PTR_ERR(ib->bridge);
- + goto err_drvdata;
- + }
- + ib->bridge->of_node = priv->dev->of_node;
- +
- ib->next_bridge = bridge;
-
- - ret = drm_bridge_attach(encoder, &ib->bridge, NULL,
- + ib->bridge->ops = DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT;
- + ib->bridge->interlace_allowed = true;
- + ret = devm_drm_bridge_add(priv->dev, ib->bridge);
- + if (ret) {
- + dev_err(dev, "Failed to register DRM bridge: %d\n", ret);
- + goto err_drvdata;
- + }
- + ret = drm_bridge_attach(encoder, ib->bridge, NULL,
- DRM_BRIDGE_ATTACH_NO_CONNECTOR);
- if (ret) {
- dev_err(dev, "Unable to attach bridge\n");
|