@@ -1318,10 +1318,9 @@ static int adv7511_probe(struct i2c_client *i2c)
if (adv7511->i2c_main->irq)
adv7511->bridge.ops |= DRM_BRIDGE_OP_HPD;
- adv7511->bridge.of_node = dev->of_node;
adv7511->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
- drm_bridge_add(&adv7511->bridge);
+ drm_bridge_add_with_dev(&adv7511->bridge, dev);
adv7511_audio_init(dev, adv7511);
@@ -697,8 +697,6 @@ static int anx6345_i2c_probe(struct i2c_client *client)
mutex_init(&anx6345->lock);
- anx6345->bridge.of_node = client->dev.of_node;
-
anx6345->client = client;
i2c_set_clientdata(client, anx6345);
@@ -766,7 +764,7 @@ static int anx6345_i2c_probe(struct i2c_client *client)
anx6345_poweron(anx6345);
if (anx6345_get_chip_id(anx6345)) {
anx6345->bridge.funcs = &anx6345_bridge_funcs;
- drm_bridge_add(&anx6345->bridge);
+ drm_bridge_add_with_dev(&anx6345->bridge, dev);
return 0;
} else {
@@ -1228,8 +1228,6 @@ static int anx78xx_i2c_probe(struct i2c_client *client)
mutex_init(&anx78xx->lock);
- anx78xx->bridge.of_node = client->dev.of_node;
-
anx78xx->client = client;
i2c_set_clientdata(client, anx78xx);
@@ -1335,7 +1333,7 @@ static int anx78xx_i2c_probe(struct i2c_client *client)
anx78xx->bridge.funcs = &anx78xx_bridge_funcs;
- drm_bridge_add(&anx78xx->bridge);
+ drm_bridge_add_with_dev(&anx78xx->bridge, &client->dev);
/* If cable is pulled out, just poweroff and wait for HPD event */
if (!gpiod_get_value(anx78xx->pdata.gpiod_hpd))
@@ -2607,7 +2607,6 @@ static int anx7625_link_bridge(struct drm_dp_aux *aux)
}
platform->bridge.funcs = &anx7625_bridge_funcs;
- platform->bridge.of_node = dev->of_node;
if (!anx7625_of_panel_on_aux_bus(dev))
platform->bridge.ops |= DRM_BRIDGE_OP_EDID;
if (!platform->pdata.panel_bridge)
@@ -2617,7 +2616,7 @@ static int anx7625_link_bridge(struct drm_dp_aux *aux)
DRM_MODE_CONNECTOR_eDP :
DRM_MODE_CONNECTOR_DisplayPort;
- drm_bridge_add(&platform->bridge);
+ drm_bridge_add_with_dev(&platform->bridge, dev);
if (!platform->pdata.is_dpi) {
ret = anx7625_attach_dsi(platform);
@@ -975,7 +975,7 @@ static int cdns_dsi_attach(struct mipi_dsi_host *host,
* register the input to the bridge framework so that it can take place
* in a display pipeline.
*/
- drm_bridge_add(&input->bridge);
+ drm_bridge_add_with_dev(&input->bridge, dsi->base.dev);
return 0;
}
@@ -1227,7 +1227,6 @@ static int cdns_dsi_drm_probe(struct platform_device *pdev)
*/
input->id = CDNS_DPI_INPUT;
input->bridge.funcs = &cdns_dsi_bridge_funcs;
- input->bridge.of_node = pdev->dev.of_node;
/* Mask all interrupts before registering the IRQ handler. */
writel(0, dsi->regs + MCTL_MAIN_STS_CTL);
@@ -2552,7 +2552,6 @@ static int cdns_mhdp_probe(struct platform_device *pdev)
mhdp->display_fmt.color_format = DRM_COLOR_FORMAT_RGB444;
mhdp->display_fmt.bpc = 8;
- mhdp->bridge.of_node = pdev->dev.of_node;
mhdp->bridge.funcs = &cdns_mhdp_bridge_funcs;
mhdp->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID |
DRM_BRIDGE_OP_HPD;
@@ -2578,7 +2577,7 @@ static int cdns_mhdp_probe(struct platform_device *pdev)
if (mhdp->hdcp_supported)
cdns_mhdp_hdcp_init(mhdp);
- drm_bridge_add(&mhdp->bridge);
+ drm_bridge_add_with_dev(&mhdp->bridge, dev);
return 0;
@@ -702,7 +702,6 @@ static int chipone_common_probe(struct device *dev, struct chipone **icnr)
icn->bridge.funcs = &chipone_bridge_funcs;
icn->bridge.type = DRM_MODE_CONNECTOR_DPI;
- icn->bridge.of_node = dev->of_node;
*icnr = icn;
@@ -729,7 +728,7 @@ static int chipone_dsi_probe(struct mipi_dsi_device *dsi)
mipi_dsi_set_drvdata(dsi, icn);
- drm_bridge_add(&icn->bridge);
+ drm_bridge_add_with_dev(&icn->bridge, dev);
ret = chipone_dsi_attach(icn);
if (ret)
@@ -757,7 +756,7 @@ static int chipone_i2c_probe(struct i2c_client *client)
dev_set_drvdata(dev, icn);
i2c_set_clientdata(client, icn);
- drm_bridge_add(&icn->bridge);
+ drm_bridge_add_with_dev(&icn->bridge, dev);
return chipone_dsi_host_attach(icn);
}
@@ -575,8 +575,7 @@ static int ch7033_probe(struct i2c_client *client)
INIT_LIST_HEAD(&priv->bridge.list);
priv->bridge.funcs = &ch7033_bridge_funcs;
- priv->bridge.of_node = dev->of_node;
- drm_bridge_add(&priv->bridge);
+ drm_bridge_add_with_dev(&priv->bridge, dev);
dev_info(dev, "Chrontel CH7033 Video Encoder\n");
return 0;
@@ -143,8 +143,6 @@ static int cros_ec_anx7688_bridge_probe(struct i2c_client *client)
fw_version = (u16)buffer[0] << 8 | buffer[1];
dev_info(dev, "ANX7688 firmware version 0x%04x\n", fw_version);
- anx7688->bridge.of_node = dev->of_node;
-
/* FW version >= 0.85 supports bandwidth/lane count registers */
if (fw_version >= ANX7688_MINIMUM_FW_VERSION)
anx7688->filter = true;
@@ -154,7 +152,7 @@ static int cros_ec_anx7688_bridge_probe(struct i2c_client *client)
fw_version);
anx7688->bridge.funcs = &cros_ec_anx7688_bridge_funcs;
- drm_bridge_add(&anx7688->bridge);
+ drm_bridge_add_with_dev(&anx7688->bridge, dev);
return 0;
}
@@ -358,7 +358,6 @@ static int display_connector_probe(struct platform_device *pdev)
}
conn->bridge.funcs = &display_connector_bridge_funcs;
- conn->bridge.of_node = pdev->dev.of_node;
if (conn->bridge.ddc)
conn->bridge.ops |= DRM_BRIDGE_OP_EDID
@@ -376,7 +375,7 @@ static int display_connector_probe(struct platform_device *pdev)
conn->hpd_gpio ? "with" : "without",
conn->bridge.ops);
- drm_bridge_add(&conn->bridge);
+ drm_bridge_add_with_dev(&conn->bridge, &pdev->dev);
return 0;
}
@@ -308,7 +308,6 @@ static int fsl_ldb_probe(struct platform_device *pdev)
fsl_ldb->dev = &pdev->dev;
fsl_ldb->bridge.funcs = &funcs;
- fsl_ldb->bridge.of_node = dev->of_node;
fsl_ldb->clk = devm_clk_get(dev, "ldb");
if (IS_ERR(fsl_ldb->clk))
@@ -368,7 +367,7 @@ static int fsl_ldb_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, fsl_ldb);
- drm_bridge_add(&fsl_ldb->bridge);
+ drm_bridge_add_with_dev(&fsl_ldb->bridge, dev);
return 0;
}
@@ -165,10 +165,9 @@ static int imx8mp_hdmi_pvi_probe(struct platform_device *pdev)
/* Register the bridge. */
pvi->bridge.funcs = &imx_hdmi_pvi_bridge_funcs;
- pvi->bridge.of_node = pdev->dev.of_node;
pvi->bridge.timings = pvi->next_bridge->timings;
- drm_bridge_add(&pvi->bridge);
+ drm_bridge_add_with_dev(&pvi->bridge, &pdev->dev);
return 0;
}
@@ -386,9 +386,8 @@ static int imx8qxp_pixel_link_bridge_probe(struct platform_device *pdev)
pl->bridge.driver_private = pl;
pl->bridge.funcs = &imx8qxp_pixel_link_bridge_funcs;
- pl->bridge.of_node = np;
- drm_bridge_add(&pl->bridge);
+ drm_bridge_add_with_dev(&pl->bridge, dev);
return ret;
}
@@ -443,9 +443,8 @@ static int imx8qxp_pxl2dpi_bridge_probe(struct platform_device *pdev)
p2d->bridge.driver_private = p2d;
p2d->bridge.funcs = &imx8qxp_pxl2dpi_bridge_funcs;
- p2d->bridge.of_node = np;
- drm_bridge_add(&p2d->bridge);
+ drm_bridge_add_with_dev(&p2d->bridge, dev);
return ret;
}
@@ -3374,7 +3374,6 @@ static int it6505_i2c_probe(struct i2c_client *client)
mutex_init(&it6505->mode_lock);
mutex_init(&it6505->aux_lock);
- it6505->bridge.of_node = client->dev.of_node;
it6505->connector_status = connector_status_disconnected;
it6505->dev = &client->dev;
i2c_set_clientdata(client, it6505);
@@ -3446,7 +3445,7 @@ static int it6505_i2c_probe(struct i2c_client *client)
it6505->bridge.type = DRM_MODE_CONNECTOR_DisplayPort;
it6505->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID |
DRM_BRIDGE_OP_HPD;
- drm_bridge_add(&it6505->bridge);
+ drm_bridge_add_with_dev(&it6505->bridge, dev);
return 0;
}
@@ -1578,7 +1578,6 @@ static int it66121_probe(struct i2c_client *client)
}
ctx->bridge.funcs = &it66121_bridge_funcs;
- ctx->bridge.of_node = dev->of_node;
ctx->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
ctx->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID;
if (client->irq > 0) {
@@ -1596,7 +1595,7 @@ static int it66121_probe(struct i2c_client *client)
it66121_audio_codec_init(ctx, dev);
- drm_bridge_add(&ctx->bridge);
+ drm_bridge_add_with_dev(&ctx->bridge, dev);
dev_info(ctx->dev, "IT66121 revision %d probed\n", revision_id);
@@ -777,11 +777,10 @@ static int lt8912_probe(struct i2c_client *client)
i2c_set_clientdata(client, lt);
lt->bridge.funcs = <8912_bridge_funcs;
- lt->bridge.of_node = dev->of_node;
lt->bridge.ops = (DRM_BRIDGE_OP_EDID |
DRM_BRIDGE_OP_DETECT);
- drm_bridge_add(<->bridge);
+ drm_bridge_add_with_dev(<->bridge, dev);
ret = lt8912_attach_dsi(lt);
if (ret)
@@ -756,8 +756,7 @@ static int lt9211_probe(struct i2c_client *client)
i2c_set_clientdata(client, ctx);
ctx->bridge.funcs = <9211_funcs;
- ctx->bridge.of_node = dev->of_node;
- drm_bridge_add(&ctx->bridge);
+ drm_bridge_add_with_dev(&ctx->bridge, dev);
ret = lt9211_host_attach(ctx);
if (ret)
@@ -1114,12 +1114,11 @@ static int lt9611_probe(struct i2c_client *client)
i2c_set_clientdata(client, lt9611);
lt9611->bridge.funcs = <9611_bridge_funcs;
- lt9611->bridge.of_node = client->dev.of_node;
lt9611->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID |
DRM_BRIDGE_OP_HPD | DRM_BRIDGE_OP_MODES;
lt9611->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
- drm_bridge_add(<9611->bridge);
+ drm_bridge_add_with_dev(<9611->bridge, dev);
/* Attach primary DSI */
lt9611->dsi0 = lt9611_attach_dsi(lt9611, lt9611->dsi0_node);
@@ -934,13 +934,12 @@ static int lt9611uxc_probe(struct i2c_client *client)
i2c_set_clientdata(client, lt9611uxc);
lt9611uxc->bridge.funcs = <9611uxc_bridge_funcs;
- lt9611uxc->bridge.of_node = client->dev.of_node;
lt9611uxc->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID;
if (lt9611uxc->hpd_supported)
lt9611uxc->bridge.ops |= DRM_BRIDGE_OP_HPD;
lt9611uxc->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
- drm_bridge_add(<9611uxc->bridge);
+ drm_bridge_add_with_dev(<9611uxc->bridge, dev);
/* Attach primary DSI */
lt9611uxc->dsi0 = lt9611uxc_attach_dsi(lt9611uxc, lt9611uxc->dsi0_node);
@@ -201,9 +201,8 @@ static int lvds_codec_probe(struct platform_device *pdev)
* but we need a bridge attached to our of_node for our user
* to look up.
*/
- lvds_codec->bridge.of_node = dev->of_node;
lvds_codec->bridge.timings = &lvds_codec->timings;
- drm_bridge_add(&lvds_codec->bridge);
+ drm_bridge_add_with_dev(&lvds_codec->bridge, dev);
platform_set_drvdata(pdev, lvds_codec);
@@ -274,8 +274,7 @@ static int ge_b850v3_register(void)
ge_b850v3_lvds_ptr->bridge.ops = DRM_BRIDGE_OP_DETECT |
DRM_BRIDGE_OP_EDID;
ge_b850v3_lvds_ptr->bridge.type = DRM_MODE_CONNECTOR_DisplayPort;
- ge_b850v3_lvds_ptr->bridge.of_node = dev->of_node;
- drm_bridge_add(&ge_b850v3_lvds_ptr->bridge);
+ drm_bridge_add_with_dev(&ge_b850v3_lvds_ptr->bridge, dev);
/* Clear pending interrupts since power up. */
i2c_smbus_write_word_data(stdp4028_i2c,
@@ -190,7 +190,6 @@ static int mchp_lvds_probe(struct platform_device *pdev)
if (IS_ERR(lvds->panel_bridge))
return PTR_ERR(lvds->panel_bridge);
- lvds->bridge.of_node = dev->of_node;
lvds->bridge.type = DRM_MODE_CONNECTOR_LVDS;
lvds->bridge.funcs = &mchp_lvds_bridge_funcs;
@@ -201,7 +200,7 @@ static int mchp_lvds_probe(struct platform_device *pdev)
return ret;
}
- drm_bridge_add(&lvds->bridge);
+ drm_bridge_add_with_dev(&lvds->bridge, dev);
return 0;
}
@@ -1182,7 +1182,6 @@ static int nwl_dsi_probe(struct platform_device *pdev)
dsi->bridge.driver_private = dsi;
dsi->bridge.funcs = &nwl_dsi_bridge_funcs;
- dsi->bridge.of_node = dev->of_node;
dsi->bridge.timings = &nwl_dsi_timings;
dev_set_drvdata(dev, dsi);
@@ -1195,7 +1194,7 @@ static int nwl_dsi_probe(struct platform_device *pdev)
return ret;
}
- drm_bridge_add(&dsi->bridge);
+ drm_bridge_add_with_dev(&dsi->bridge, dev);
return 0;
}
@@ -303,8 +303,7 @@ static int ptn3460_probe(struct i2c_client *client)
ptn_bridge->bridge.funcs = &ptn3460_bridge_funcs;
ptn_bridge->bridge.ops = DRM_BRIDGE_OP_EDID;
ptn_bridge->bridge.type = DRM_MODE_CONNECTOR_LVDS;
- ptn_bridge->bridge.of_node = dev->of_node;
- drm_bridge_add(&ptn_bridge->bridge);
+ drm_bridge_add_with_dev(&ptn_bridge->bridge, dev);
i2c_set_clientdata(client, ptn_bridge);
@@ -299,11 +299,10 @@ struct drm_bridge *drm_panel_bridge_add_typed(struct drm_panel *panel,
panel_bridge->panel = panel;
panel_bridge->bridge.funcs = &panel_bridge_bridge_funcs;
- panel_bridge->bridge.of_node = panel->dev->of_node;
panel_bridge->bridge.ops = DRM_BRIDGE_OP_MODES;
panel_bridge->bridge.type = connector_type;
- drm_bridge_add(&panel_bridge->bridge);
+ drm_bridge_add_with_dev(&panel_bridge->bridge, panel->dev);
return &panel_bridge->bridge;
}
@@ -511,8 +511,7 @@ static int ps8622_probe(struct i2c_client *client)
ps8622->bridge.funcs = &ps8622_bridge_funcs;
ps8622->bridge.type = DRM_MODE_CONNECTOR_LVDS;
- ps8622->bridge.of_node = dev->of_node;
- drm_bridge_add(&ps8622->bridge);
+ drm_bridge_add_with_dev(&ps8622->bridge, dev);
i2c_set_clientdata(client, ps8622);
@@ -663,7 +663,6 @@ static int ps8640_probe(struct i2c_client *client)
return PTR_ERR(ps_bridge->gpio_reset);
ps_bridge->bridge.funcs = &ps8640_bridge_funcs;
- ps_bridge->bridge.of_node = dev->of_node;
ps_bridge->bridge.type = DRM_MODE_CONNECTOR_eDP;
/*
@@ -1739,7 +1739,7 @@ static int samsung_dsim_host_attach(struct mipi_dsi_host *host,
mipi_dsi_pixel_format_to_bpp(device->format),
device->mode_flags);
- drm_bridge_add(&dsi->bridge);
+ drm_bridge_add_with_dev(&dsi->bridge, dev);
/*
* This is a temporary solution and should be made by more generic way.
@@ -1987,7 +1987,6 @@ int samsung_dsim_probe(struct platform_device *pdev)
pm_runtime_enable(dev);
dsi->bridge.funcs = &samsung_dsim_bridge_funcs;
- dsi->bridge.of_node = dev->of_node;
dsi->bridge.type = DRM_MODE_CONNECTOR_DSI;
/* DE_LOW: i.MX8M Mini/Nano LCDIF-DSIM glue logic inverts HS/VS/DE */
@@ -1097,14 +1097,13 @@ static int sii902x_init(struct sii902x *sii902x)
goto err_unreg_audio;
sii902x->bridge.funcs = &sii902x_bridge_funcs;
- sii902x->bridge.of_node = dev->of_node;
sii902x->bridge.timings = &default_sii902x_timings;
sii902x->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID;
if (sii902x->i2c->irq > 0)
sii902x->bridge.ops |= DRM_BRIDGE_OP_HPD;
- drm_bridge_add(&sii902x->bridge);
+ drm_bridge_add_with_dev(&sii902x->bridge, dev);
return 0;
@@ -922,8 +922,7 @@ static int sii9234_probe(struct i2c_client *client)
i2c_set_clientdata(client, ctx);
ctx->bridge.funcs = &sii9234_bridge_funcs;
- ctx->bridge.of_node = dev->of_node;
- drm_bridge_add(&ctx->bridge);
+ drm_bridge_add_with_dev(&ctx->bridge, dev);
sii9234_cable_in(ctx);
@@ -2336,8 +2336,7 @@ static int sii8620_probe(struct i2c_client *client)
i2c_set_clientdata(client, ctx);
ctx->bridge.funcs = &sii8620_bridge_funcs;
- ctx->bridge.of_node = dev->of_node;
- drm_bridge_add(&ctx->bridge);
+ drm_bridge_add_with_dev(&ctx->bridge, dev);
if (!ctx->extcon)
sii8620_cable_in(ctx);
@@ -205,10 +205,9 @@ static int simple_bridge_probe(struct platform_device *pdev)
/* Register the bridge. */
sbridge->bridge.funcs = &simple_bridge_bridge_funcs;
- sbridge->bridge.of_node = pdev->dev.of_node;
sbridge->bridge.timings = sbridge->info->timings;
- drm_bridge_add(&sbridge->bridge);
+ drm_bridge_add_with_dev(&sbridge->bridge, &pdev->dev);
return 0;
}
@@ -3525,7 +3525,6 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev,
| DRM_BRIDGE_OP_HPD;
hdmi->bridge.interlace_allowed = true;
hdmi->bridge.ddc = hdmi->ddc;
- hdmi->bridge.of_node = pdev->dev.of_node;
hdmi->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
memset(&pdevinfo, 0, sizeof(pdevinfo));
@@ -3599,7 +3598,7 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev,
hdmi->cec = platform_device_register_full(&pdevinfo);
}
- drm_bridge_add(&hdmi->bridge);
+ drm_bridge_add_with_dev(&hdmi->bridge, dev);
return hdmi;
@@ -339,7 +339,7 @@ static int dw_mipi_dsi_host_attach(struct mipi_dsi_host *host,
bridge->pre_enable_prev_first = true;
dsi->panel_bridge = bridge;
- drm_bridge_add(&dsi->bridge);
+ drm_bridge_add_with_dev(&dsi->bridge, dsi->dev);
if (pdata->host_ops && pdata->host_ops->attach) {
ret = pdata->host_ops->attach(pdata->priv_data, device);
@@ -1260,7 +1260,6 @@ __dw_mipi_dsi_probe(struct platform_device *pdev,
dsi->bridge.driver_private = dsi;
dsi->bridge.funcs = &dw_mipi_dsi_bridge_funcs;
- dsi->bridge.of_node = pdev->dev.of_node;
return dsi;
}
@@ -286,10 +286,9 @@ static int tc358762_probe(struct mipi_dsi_device *dsi)
ctx->bridge.funcs = &tc358762_bridge_funcs;
ctx->bridge.type = DRM_MODE_CONNECTOR_DPI;
- ctx->bridge.of_node = dev->of_node;
ctx->bridge.pre_enable_prev_first = true;
- drm_bridge_add(&ctx->bridge);
+ drm_bridge_add_with_dev(&ctx->bridge, dev);
ret = mipi_dsi_attach(dsi);
if (ret < 0) {
@@ -368,10 +368,9 @@ static int tc358764_probe(struct mipi_dsi_device *dsi)
return ret;
ctx->bridge.funcs = &tc358764_bridge_funcs;
- ctx->bridge.of_node = dev->of_node;
ctx->bridge.pre_enable_prev_first = true;
- drm_bridge_add(&ctx->bridge);
+ drm_bridge_add_with_dev(&ctx->bridge, dev);
ret = mipi_dsi_attach(dsi);
if (ret < 0) {
@@ -2445,8 +2445,7 @@ static int tc_probe(struct i2c_client *client)
return ret;
}
- tc->bridge.of_node = dev->of_node;
- drm_bridge_add(&tc->bridge);
+ drm_bridge_add_with_dev(&tc->bridge, dev);
i2c_set_clientdata(client, tc);
@@ -451,7 +451,7 @@ static int tc358768_dsi_host_attach(struct mipi_dsi_host *host,
if (ret)
priv->pd_lines = priv->dsi_bpp;
- drm_bridge_add(&priv->bridge);
+ drm_bridge_add_with_dev(&priv->bridge, priv->dev);
return 0;
}
@@ -1299,7 +1299,6 @@ static int tc358768_i2c_probe(struct i2c_client *client)
priv->bridge.funcs = &tc358768_bridge_funcs;
priv->bridge.timings = &default_tc358768_timings;
- priv->bridge.of_node = np;
i2c_set_clientdata(client, priv);
@@ -706,9 +706,8 @@ static int tc_probe(struct i2c_client *client)
}
tc->bridge.funcs = &tc_bridge_funcs;
- tc->bridge.of_node = dev->of_node;
tc->bridge.pre_enable_prev_first = true;
- drm_bridge_add(&tc->bridge);
+ drm_bridge_add_with_dev(&tc->bridge, dev);
i2c_set_clientdata(client, tc);
@@ -206,11 +206,10 @@ static int thc63_probe(struct platform_device *pdev)
return ret;
thc63->bridge.driver_private = thc63;
- thc63->bridge.of_node = pdev->dev.of_node;
thc63->bridge.funcs = &thc63_bridge_func;
thc63->bridge.timings = &thc63->timings;
- drm_bridge_add(&thc63->bridge);
+ drm_bridge_add_with_dev(&thc63->bridge, &pdev->dev);
return 0;
}
@@ -366,8 +366,7 @@ static int dlpc3433_probe(struct i2c_client *client)
i2c_set_clientdata(client, dlpc);
dlpc->bridge.funcs = &dlpc_bridge_funcs;
- dlpc->bridge.of_node = dev->of_node;
- drm_bridge_add(&dlpc->bridge);
+ drm_bridge_add_with_dev(&dlpc->bridge, dev);
ret = dlpc_host_attach(dlpc);
if (ret)
@@ -708,9 +708,8 @@ static int sn65dsi83_probe(struct i2c_client *client)
i2c_set_clientdata(client, ctx);
ctx->bridge.funcs = &sn65dsi83_funcs;
- ctx->bridge.of_node = dev->of_node;
ctx->bridge.pre_enable_prev_first = true;
- drm_bridge_add(&ctx->bridge);
+ drm_bridge_add_with_dev(&ctx->bridge, dev);
ret = sn65dsi83_host_attach(ctx);
if (ret) {
@@ -1312,14 +1312,13 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
return ret;
pdata->bridge.funcs = &ti_sn_bridge_funcs;
- pdata->bridge.of_node = np;
pdata->bridge.type = pdata->next_bridge->type == DRM_MODE_CONNECTOR_DisplayPort
? DRM_MODE_CONNECTOR_DisplayPort : DRM_MODE_CONNECTOR_eDP;
if (pdata->bridge.type == DRM_MODE_CONNECTOR_DisplayPort)
pdata->bridge.ops = DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT;
- drm_bridge_add(&pdata->bridge);
+ drm_bridge_add_with_dev(&pdata->bridge, pdata->dev);
ret = ti_sn_attach_host(adev, pdata);
if (ret) {
@@ -348,7 +348,6 @@ static int tfp410_init(struct device *dev, bool i2c)
dev_set_drvdata(dev, dvi);
dvi->bridge.funcs = &tfp410_bridge_funcs;
- dvi->bridge.of_node = dev->of_node;
dvi->bridge.timings = &dvi->timings;
dvi->bridge.type = DRM_MODE_CONNECTOR_DVID;
@@ -376,7 +375,7 @@ static int tfp410_init(struct device *dev, bool i2c)
}
/* Register the DRM bridge. */
- drm_bridge_add(&dvi->bridge);
+ drm_bridge_add_with_dev(&dvi->bridge, dev);
return 0;
}
@@ -122,7 +122,6 @@ static int tpd12s015_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, tpd);
tpd->bridge.funcs = &tpd12s015_bridge_funcs;
- tpd->bridge.of_node = pdev->dev.of_node;
tpd->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
tpd->bridge.ops = DRM_BRIDGE_OP_DETECT;
@@ -174,7 +173,7 @@ static int tpd12s015_probe(struct platform_device *pdev)
}
/* Register the DRM bridge. */
- drm_bridge_add(&tpd->bridge);
+ drm_bridge_add_with_dev(&tpd->bridge, &pdev->dev);
return 0;
}
@@ -1989,11 +1989,8 @@ static int tda998x_create(struct device *dev)
}
priv->bridge.funcs = &tda998x_bridge_funcs;
-#ifdef CONFIG_OF
- priv->bridge.of_node = dev->of_node;
-#endif
- drm_bridge_add(&priv->bridge);
+ drm_bridge_add_with_dev(&priv->bridge, dev);
return 0;
Normally, the drm_bridge::of_node member won't be used by drm bridge driver instances, as display driver instances will use the device node fetched from its backing device directly. The drm_bridge::of_node is mainly for finding the drm bridge instance associated. Hence, display bridge drivers don't have to set it manually for the canonical cases. Let's reduce the boilerplates by using drm_bridge_add_with_dev(). Signed-off-by: Sui Jingfeng <sui.jingfeng@linux.dev> --- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 3 +-- drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 4 +--- drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 4 +--- drivers/gpu/drm/bridge/analogix/anx7625.c | 3 +-- drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 3 +-- drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 3 +-- drivers/gpu/drm/bridge/chipone-icn6211.c | 5 ++--- drivers/gpu/drm/bridge/chrontel-ch7033.c | 3 +-- drivers/gpu/drm/bridge/cros-ec-anx7688.c | 4 +--- drivers/gpu/drm/bridge/display-connector.c | 3 +-- drivers/gpu/drm/bridge/fsl-ldb.c | 3 +-- drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c | 3 +-- drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 3 +-- drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c | 3 +-- drivers/gpu/drm/bridge/ite-it6505.c | 3 +-- drivers/gpu/drm/bridge/ite-it66121.c | 3 +-- drivers/gpu/drm/bridge/lontium-lt8912b.c | 3 +-- drivers/gpu/drm/bridge/lontium-lt9211.c | 3 +-- drivers/gpu/drm/bridge/lontium-lt9611.c | 3 +-- drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 3 +-- drivers/gpu/drm/bridge/lvds-codec.c | 3 +-- drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 3 +-- drivers/gpu/drm/bridge/microchip-lvds.c | 3 +-- drivers/gpu/drm/bridge/nwl-dsi.c | 3 +-- drivers/gpu/drm/bridge/nxp-ptn3460.c | 3 +-- drivers/gpu/drm/bridge/panel.c | 3 +-- drivers/gpu/drm/bridge/parade-ps8622.c | 3 +-- drivers/gpu/drm/bridge/parade-ps8640.c | 1 - drivers/gpu/drm/bridge/samsung-dsim.c | 3 +-- drivers/gpu/drm/bridge/sii902x.c | 3 +-- drivers/gpu/drm/bridge/sii9234.c | 3 +-- drivers/gpu/drm/bridge/sil-sii8620.c | 3 +-- drivers/gpu/drm/bridge/simple-bridge.c | 3 +-- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 +-- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 3 +-- drivers/gpu/drm/bridge/tc358762.c | 3 +-- drivers/gpu/drm/bridge/tc358764.c | 3 +-- drivers/gpu/drm/bridge/tc358767.c | 3 +-- drivers/gpu/drm/bridge/tc358768.c | 3 +-- drivers/gpu/drm/bridge/tc358775.c | 3 +-- drivers/gpu/drm/bridge/thc63lvd1024.c | 3 +-- drivers/gpu/drm/bridge/ti-dlpc3433.c | 3 +-- drivers/gpu/drm/bridge/ti-sn65dsi83.c | 3 +-- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 3 +-- drivers/gpu/drm/bridge/ti-tfp410.c | 3 +-- drivers/gpu/drm/bridge/ti-tpd12s015.c | 3 +-- drivers/gpu/drm/i2c/tda998x_drv.c | 5 +---- 47 files changed, 47 insertions(+), 99 deletions(-)