mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
drm: convert many bridge drivers from devm_kzalloc() to devm_drm_bridge_alloc() API
devm_drm_bridge_alloc() is the new API to be used for allocating (and partially initializing) a private driver struct embedding a struct drm_bridge. For many drivers having a simple code flow in the probe function, this commit does a mass conversion automatically with the following semantic patch. The changes have been reviewed manually for correctness as well as to find any false positives. The patch has been applied with the explicit exclusion of bridge/panel.c, handled by a separate patch. After applying the semantic patch, manually fixed these issues: - 4 drivers need ERR_CAST() instead of PTR_ERR() as the function calling devm_drm_bridge_alloc() returns a pointer - re-added empty lines and comments that the script had removed but that should stay @@ type T; identifier C; identifier BR; expression DEV; expression FUNCS; @@ -T *C; +T *C; ... ( -C = devm_kzalloc(DEV, ...); -if (!C) - return -ENOMEM; +C = devm_drm_bridge_alloc(DEV, T, BR, FUNCS); +if (IS_ERR(C)) + return PTR_ERR(C); | -C = devm_kzalloc(DEV, ...); -if (!C) - return ERR_PTR(-ENOMEM); +C = devm_drm_bridge_alloc(DEV, T, BR, FUNCS); +if (IS_ERR(C)) + return PTR_ERR(C); ) ... -C->BR.funcs = FUNCS; Reviewed-by: Manikandan Muralidharan <manikandan.m@microchip.com> # microchip-lvds.c Reviewed-by: Douglas Anderson <dianders@chromium.org> # parade-ps8640 Tested-by: Douglas Anderson <dianders@chromium.org> # parade-ps8640 Acked-by: Maxime Ripard <mripard@kernel.org> Link: https://lore.kernel.org/r/20250509-drm-bridge-convert-to-alloc-api-v3-2-b8bc1f16d7aa@bootlin.com [Luca: fixed trivial patch conflict in adv7511_drv.c while applying] Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
This commit is contained in:
@@ -229,9 +229,10 @@ static int adp_mipi_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct adp_mipi_drv_private *adp;
|
||||
|
||||
adp = devm_kzalloc(&pdev->dev, sizeof(*adp), GFP_KERNEL);
|
||||
if (!adp)
|
||||
return -ENOMEM;
|
||||
adp = devm_drm_bridge_alloc(&pdev->dev, struct adp_mipi_drv_private,
|
||||
bridge, &adp_dsi_bridge_funcs);
|
||||
if (IS_ERR(adp))
|
||||
return PTR_ERR(adp);
|
||||
|
||||
adp->mipi = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(adp->mipi)) {
|
||||
@@ -241,7 +242,6 @@ static int adp_mipi_probe(struct platform_device *pdev)
|
||||
|
||||
adp->dsi.dev = &pdev->dev;
|
||||
adp->dsi.ops = &adp_dsi_host_ops;
|
||||
adp->bridge.funcs = &adp_dsi_bridge_funcs;
|
||||
adp->bridge.of_node = pdev->dev.of_node;
|
||||
adp->bridge.type = DRM_MODE_CONNECTOR_DSI;
|
||||
dev_set_drvdata(&pdev->dev, adp);
|
||||
|
||||
@@ -1153,9 +1153,10 @@ static int adv7511_probe(struct i2c_client *i2c)
|
||||
if (!dev->of_node)
|
||||
return -EINVAL;
|
||||
|
||||
adv7511 = devm_kzalloc(dev, sizeof(*adv7511), GFP_KERNEL);
|
||||
if (!adv7511)
|
||||
return -ENOMEM;
|
||||
adv7511 = devm_drm_bridge_alloc(dev, struct adv7511, bridge,
|
||||
&adv7511_bridge_funcs);
|
||||
if (IS_ERR(adv7511))
|
||||
return PTR_ERR(adv7511);
|
||||
|
||||
adv7511->i2c_main = i2c;
|
||||
adv7511->powered = false;
|
||||
@@ -1255,7 +1256,6 @@ static int adv7511_probe(struct i2c_client *i2c)
|
||||
regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL,
|
||||
ADV7511_CEC_CTRL_POWER_DOWN);
|
||||
|
||||
adv7511->bridge.funcs = &adv7511_bridge_funcs;
|
||||
adv7511->bridge.ops = DRM_BRIDGE_OP_DETECT |
|
||||
DRM_BRIDGE_OP_EDID |
|
||||
DRM_BRIDGE_OP_HDMI |
|
||||
|
||||
@@ -1193,9 +1193,10 @@ static int anx78xx_i2c_probe(struct i2c_client *client)
|
||||
bool found = false;
|
||||
int err;
|
||||
|
||||
anx78xx = devm_kzalloc(&client->dev, sizeof(*anx78xx), GFP_KERNEL);
|
||||
if (!anx78xx)
|
||||
return -ENOMEM;
|
||||
anx78xx = devm_drm_bridge_alloc(&client->dev, struct anx78xx, bridge,
|
||||
&anx78xx_bridge_funcs);
|
||||
if (IS_ERR(anx78xx))
|
||||
return PTR_ERR(anx78xx);
|
||||
|
||||
pdata = &anx78xx->pdata;
|
||||
|
||||
@@ -1306,8 +1307,6 @@ static int anx78xx_i2c_probe(struct i2c_client *client)
|
||||
goto err_poweroff;
|
||||
}
|
||||
|
||||
anx78xx->bridge.funcs = &anx78xx_bridge_funcs;
|
||||
|
||||
drm_bridge_add(&anx78xx->bridge);
|
||||
|
||||
/* If cable is pulled out, just poweroff and wait for HPD event */
|
||||
|
||||
@@ -109,9 +109,10 @@ static int drm_aux_bridge_probe(struct auxiliary_device *auxdev,
|
||||
{
|
||||
struct drm_aux_bridge_data *data;
|
||||
|
||||
data = devm_kzalloc(&auxdev->dev, sizeof(*data), GFP_KERNEL);
|
||||
if (!data)
|
||||
return -ENOMEM;
|
||||
data = devm_drm_bridge_alloc(&auxdev->dev, struct drm_aux_bridge_data,
|
||||
bridge, &drm_aux_bridge_funcs);
|
||||
if (IS_ERR(data))
|
||||
return PTR_ERR(data);
|
||||
|
||||
data->dev = &auxdev->dev;
|
||||
data->next_bridge = devm_drm_of_get_bridge(&auxdev->dev, auxdev->dev.of_node, 0, 0);
|
||||
@@ -119,7 +120,6 @@ static int drm_aux_bridge_probe(struct auxiliary_device *auxdev,
|
||||
return dev_err_probe(&auxdev->dev, PTR_ERR(data->next_bridge),
|
||||
"failed to acquire drm_bridge\n");
|
||||
|
||||
data->bridge.funcs = &drm_aux_bridge_funcs;
|
||||
data->bridge.of_node = data->dev->of_node;
|
||||
|
||||
/* passthrough data, allow everything */
|
||||
|
||||
@@ -171,12 +171,13 @@ static int drm_aux_hpd_bridge_probe(struct auxiliary_device *auxdev,
|
||||
{
|
||||
struct drm_aux_hpd_bridge_data *data;
|
||||
|
||||
data = devm_kzalloc(&auxdev->dev, sizeof(*data), GFP_KERNEL);
|
||||
if (!data)
|
||||
return -ENOMEM;
|
||||
data = devm_drm_bridge_alloc(&auxdev->dev,
|
||||
struct drm_aux_hpd_bridge_data, bridge,
|
||||
&drm_aux_hpd_bridge_funcs);
|
||||
if (IS_ERR(data))
|
||||
return PTR_ERR(data);
|
||||
|
||||
data->dev = &auxdev->dev;
|
||||
data->bridge.funcs = &drm_aux_hpd_bridge_funcs;
|
||||
data->bridge.of_node = dev_get_platdata(data->dev);
|
||||
data->bridge.ops = DRM_BRIDGE_OP_HPD;
|
||||
data->bridge.type = id->driver_data;
|
||||
|
||||
@@ -2389,9 +2389,10 @@ static int cdns_mhdp_probe(struct platform_device *pdev)
|
||||
int ret;
|
||||
int irq;
|
||||
|
||||
mhdp = devm_kzalloc(dev, sizeof(*mhdp), GFP_KERNEL);
|
||||
if (!mhdp)
|
||||
return -ENOMEM;
|
||||
mhdp = devm_drm_bridge_alloc(dev, struct cdns_mhdp_device, bridge,
|
||||
&cdns_mhdp_bridge_funcs);
|
||||
if (IS_ERR(mhdp))
|
||||
return PTR_ERR(mhdp);
|
||||
|
||||
clk = devm_clk_get_enabled(dev, NULL);
|
||||
if (IS_ERR(clk)) {
|
||||
@@ -2481,7 +2482,6 @@ static int cdns_mhdp_probe(struct platform_device *pdev)
|
||||
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;
|
||||
mhdp->bridge.type = DRM_MODE_CONNECTOR_DisplayPort;
|
||||
|
||||
@@ -691,9 +691,10 @@ static int chipone_common_probe(struct device *dev, struct chipone **icnr)
|
||||
struct chipone *icn;
|
||||
int ret;
|
||||
|
||||
icn = devm_kzalloc(dev, sizeof(struct chipone), GFP_KERNEL);
|
||||
if (!icn)
|
||||
return -ENOMEM;
|
||||
icn = devm_drm_bridge_alloc(dev, struct chipone, bridge,
|
||||
&chipone_bridge_funcs);
|
||||
if (IS_ERR(icn))
|
||||
return PTR_ERR(icn);
|
||||
|
||||
icn->dev = dev;
|
||||
|
||||
@@ -701,7 +702,6 @@ static int chipone_common_probe(struct device *dev, struct chipone **icnr)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
icn->bridge.funcs = &chipone_bridge_funcs;
|
||||
icn->bridge.type = DRM_MODE_CONNECTOR_DPI;
|
||||
icn->bridge.of_node = dev->of_node;
|
||||
|
||||
|
||||
@@ -536,9 +536,10 @@ static int ch7033_probe(struct i2c_client *client)
|
||||
unsigned int val;
|
||||
int ret;
|
||||
|
||||
priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
|
||||
if (!priv)
|
||||
return -ENOMEM;
|
||||
priv = devm_drm_bridge_alloc(dev, struct ch7033_priv, bridge,
|
||||
&ch7033_bridge_funcs);
|
||||
if (IS_ERR(priv))
|
||||
return PTR_ERR(priv);
|
||||
|
||||
dev_set_drvdata(dev, priv);
|
||||
|
||||
@@ -575,7 +576,6 @@ 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);
|
||||
|
||||
|
||||
@@ -103,9 +103,10 @@ static int cros_ec_anx7688_bridge_probe(struct i2c_client *client)
|
||||
u8 buffer[4];
|
||||
int ret;
|
||||
|
||||
anx7688 = devm_kzalloc(dev, sizeof(*anx7688), GFP_KERNEL);
|
||||
if (!anx7688)
|
||||
return -ENOMEM;
|
||||
anx7688 = devm_drm_bridge_alloc(dev, struct cros_ec_anx7688, bridge,
|
||||
&cros_ec_anx7688_bridge_funcs);
|
||||
if (IS_ERR(anx7688))
|
||||
return PTR_ERR(anx7688);
|
||||
|
||||
anx7688->client = client;
|
||||
i2c_set_clientdata(client, anx7688);
|
||||
@@ -153,7 +154,6 @@ static int cros_ec_anx7688_bridge_probe(struct i2c_client *client)
|
||||
DRM_WARN("Old ANX7688 FW version (0x%04x), not filtering\n",
|
||||
fw_version);
|
||||
|
||||
anx7688->bridge.funcs = &cros_ec_anx7688_bridge_funcs;
|
||||
drm_bridge_add(&anx7688->bridge);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -298,16 +298,15 @@ static int fsl_ldb_probe(struct platform_device *pdev)
|
||||
struct fsl_ldb *fsl_ldb;
|
||||
int dual_link;
|
||||
|
||||
fsl_ldb = devm_kzalloc(dev, sizeof(*fsl_ldb), GFP_KERNEL);
|
||||
if (!fsl_ldb)
|
||||
return -ENOMEM;
|
||||
fsl_ldb = devm_drm_bridge_alloc(dev, struct fsl_ldb, bridge, &funcs);
|
||||
if (IS_ERR(fsl_ldb))
|
||||
return PTR_ERR(fsl_ldb);
|
||||
|
||||
fsl_ldb->devdata = of_device_get_match_data(dev);
|
||||
if (!fsl_ldb->devdata)
|
||||
return -EINVAL;
|
||||
|
||||
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");
|
||||
|
||||
@@ -59,9 +59,10 @@ struct drm_bridge *devm_imx_drm_legacy_bridge(struct device *dev,
|
||||
struct imx_legacy_bridge *imx_bridge;
|
||||
int ret;
|
||||
|
||||
imx_bridge = devm_kzalloc(dev, sizeof(*imx_bridge), GFP_KERNEL);
|
||||
if (!imx_bridge)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
imx_bridge = devm_drm_bridge_alloc(dev, struct imx_legacy_bridge,
|
||||
base, &imx_legacy_bridge_funcs);
|
||||
if (IS_ERR(imx_bridge))
|
||||
return ERR_CAST(imx_bridge);
|
||||
|
||||
ret = of_get_drm_display_mode(np,
|
||||
&imx_bridge->mode,
|
||||
@@ -72,7 +73,6 @@ struct drm_bridge *devm_imx_drm_legacy_bridge(struct device *dev,
|
||||
|
||||
imx_bridge->mode.type |= DRM_MODE_TYPE_DRIVER;
|
||||
|
||||
imx_bridge->base.funcs = &imx_legacy_bridge_funcs;
|
||||
imx_bridge->base.of_node = np;
|
||||
imx_bridge->base.ops = DRM_BRIDGE_OP_MODES;
|
||||
imx_bridge->base.type = type;
|
||||
|
||||
@@ -140,9 +140,10 @@ static int imx8mp_hdmi_pvi_probe(struct platform_device *pdev)
|
||||
struct device_node *remote;
|
||||
struct imx8mp_hdmi_pvi *pvi;
|
||||
|
||||
pvi = devm_kzalloc(&pdev->dev, sizeof(*pvi), GFP_KERNEL);
|
||||
if (!pvi)
|
||||
return -ENOMEM;
|
||||
pvi = devm_drm_bridge_alloc(&pdev->dev, struct imx8mp_hdmi_pvi,
|
||||
bridge, &imx_hdmi_pvi_bridge_funcs);
|
||||
if (IS_ERR(pvi))
|
||||
return PTR_ERR(pvi);
|
||||
|
||||
platform_set_drvdata(pdev, pvi);
|
||||
pvi->dev = &pdev->dev;
|
||||
@@ -166,7 +167,6 @@ static int imx8mp_hdmi_pvi_probe(struct platform_device *pdev)
|
||||
pm_runtime_enable(&pdev->dev);
|
||||
|
||||
/* 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;
|
||||
|
||||
|
||||
@@ -327,9 +327,10 @@ static int imx8qxp_pixel_link_bridge_probe(struct platform_device *pdev)
|
||||
struct device_node *np = dev->of_node;
|
||||
int ret;
|
||||
|
||||
pl = devm_kzalloc(dev, sizeof(*pl), GFP_KERNEL);
|
||||
if (!pl)
|
||||
return -ENOMEM;
|
||||
pl = devm_drm_bridge_alloc(dev, struct imx8qxp_pixel_link, bridge,
|
||||
&imx8qxp_pixel_link_bridge_funcs);
|
||||
if (IS_ERR(pl))
|
||||
return PTR_ERR(pl);
|
||||
|
||||
ret = imx_scu_get_handle(&pl->ipc_handle);
|
||||
if (ret) {
|
||||
@@ -384,7 +385,6 @@ static int imx8qxp_pixel_link_bridge_probe(struct platform_device *pdev)
|
||||
platform_set_drvdata(pdev, pl);
|
||||
|
||||
pl->bridge.driver_private = pl;
|
||||
pl->bridge.funcs = &imx8qxp_pixel_link_bridge_funcs;
|
||||
pl->bridge.of_node = np;
|
||||
|
||||
drm_bridge_add(&pl->bridge);
|
||||
|
||||
@@ -392,9 +392,10 @@ static int imx8qxp_pxl2dpi_bridge_probe(struct platform_device *pdev)
|
||||
struct device_node *np = dev->of_node;
|
||||
int ret;
|
||||
|
||||
p2d = devm_kzalloc(dev, sizeof(*p2d), GFP_KERNEL);
|
||||
if (!p2d)
|
||||
return -ENOMEM;
|
||||
p2d = devm_drm_bridge_alloc(dev, struct imx8qxp_pxl2dpi, bridge,
|
||||
&imx8qxp_pxl2dpi_bridge_funcs);
|
||||
if (IS_ERR(p2d))
|
||||
return PTR_ERR(p2d);
|
||||
|
||||
p2d->regmap = syscon_node_to_regmap(np->parent);
|
||||
if (IS_ERR(p2d->regmap)) {
|
||||
@@ -441,7 +442,6 @@ static int imx8qxp_pxl2dpi_bridge_probe(struct platform_device *pdev)
|
||||
pm_runtime_enable(dev);
|
||||
|
||||
p2d->bridge.driver_private = p2d;
|
||||
p2d->bridge.funcs = &imx8qxp_pxl2dpi_bridge_funcs;
|
||||
p2d->bridge.of_node = np;
|
||||
|
||||
drm_bridge_add(&p2d->bridge);
|
||||
|
||||
@@ -816,9 +816,10 @@ static int it6263_probe(struct i2c_client *client)
|
||||
struct it6263 *it;
|
||||
int ret;
|
||||
|
||||
it = devm_kzalloc(dev, sizeof(*it), GFP_KERNEL);
|
||||
if (!it)
|
||||
return -ENOMEM;
|
||||
it = devm_drm_bridge_alloc(dev, struct it6263, bridge,
|
||||
&it6263_bridge_funcs);
|
||||
if (IS_ERR(it))
|
||||
return PTR_ERR(it);
|
||||
|
||||
it->dev = dev;
|
||||
it->hdmi_i2c = client;
|
||||
@@ -866,7 +867,6 @@ static int it6263_probe(struct i2c_client *client)
|
||||
|
||||
i2c_set_clientdata(client, it);
|
||||
|
||||
it->bridge.funcs = &it6263_bridge_funcs;
|
||||
it->bridge.of_node = dev->of_node;
|
||||
/* IT6263 chip doesn't support HPD interrupt. */
|
||||
it->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID |
|
||||
|
||||
@@ -3583,9 +3583,10 @@ static int it6505_i2c_probe(struct i2c_client *client)
|
||||
struct extcon_dev *extcon;
|
||||
int err;
|
||||
|
||||
it6505 = devm_kzalloc(&client->dev, sizeof(*it6505), GFP_KERNEL);
|
||||
if (!it6505)
|
||||
return -ENOMEM;
|
||||
it6505 = devm_drm_bridge_alloc(&client->dev, struct it6505, bridge,
|
||||
&it6505_bridge_funcs);
|
||||
if (IS_ERR(it6505))
|
||||
return PTR_ERR(it6505);
|
||||
|
||||
mutex_init(&it6505->extcon_lock);
|
||||
mutex_init(&it6505->mode_lock);
|
||||
@@ -3660,7 +3661,6 @@ static int it6505_i2c_probe(struct i2c_client *client)
|
||||
it6505->aux.transfer = it6505_aux_transfer;
|
||||
drm_dp_aux_init(&it6505->aux);
|
||||
|
||||
it6505->bridge.funcs = &it6505_bridge_funcs;
|
||||
it6505->bridge.type = DRM_MODE_CONNECTOR_DisplayPort;
|
||||
it6505->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID |
|
||||
DRM_BRIDGE_OP_HPD;
|
||||
|
||||
@@ -1516,9 +1516,10 @@ static int it66121_probe(struct i2c_client *client)
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
|
||||
if (!ctx)
|
||||
return -ENOMEM;
|
||||
ctx = devm_drm_bridge_alloc(dev, struct it66121_ctx, bridge,
|
||||
&it66121_bridge_funcs);
|
||||
if (IS_ERR(ctx))
|
||||
return PTR_ERR(ctx);
|
||||
|
||||
ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, 0);
|
||||
if (!ep)
|
||||
@@ -1577,7 +1578,6 @@ static int it66121_probe(struct i2c_client *client)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
@@ -761,9 +761,10 @@ static int lt8912_probe(struct i2c_client *client)
|
||||
int ret = 0;
|
||||
struct device *dev = &client->dev;
|
||||
|
||||
lt = devm_kzalloc(dev, sizeof(struct lt8912), GFP_KERNEL);
|
||||
if (!lt)
|
||||
return -ENOMEM;
|
||||
lt = devm_drm_bridge_alloc(dev, struct lt8912, bridge,
|
||||
<8912_bridge_funcs);
|
||||
if (IS_ERR(lt))
|
||||
return PTR_ERR(lt);
|
||||
|
||||
lt->dev = dev;
|
||||
lt->i2c_client[0] = client;
|
||||
@@ -778,7 +779,6 @@ 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);
|
||||
|
||||
@@ -727,9 +727,9 @@ static int lt9211_probe(struct i2c_client *client)
|
||||
struct lt9211 *ctx;
|
||||
int ret;
|
||||
|
||||
ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
|
||||
if (!ctx)
|
||||
return -ENOMEM;
|
||||
ctx = devm_drm_bridge_alloc(dev, struct lt9211, bridge, <9211_funcs);
|
||||
if (IS_ERR(ctx))
|
||||
return PTR_ERR(ctx);
|
||||
|
||||
ctx->dev = dev;
|
||||
|
||||
@@ -755,7 +755,6 @@ static int lt9211_probe(struct i2c_client *client)
|
||||
dev_set_drvdata(dev, ctx);
|
||||
i2c_set_clientdata(client, ctx);
|
||||
|
||||
ctx->bridge.funcs = <9211_funcs;
|
||||
ctx->bridge.of_node = dev->of_node;
|
||||
drm_bridge_add(&ctx->bridge);
|
||||
|
||||
|
||||
@@ -1072,9 +1072,10 @@ static int lt9611_probe(struct i2c_client *client)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
lt9611 = devm_kzalloc(dev, sizeof(*lt9611), GFP_KERNEL);
|
||||
if (!lt9611)
|
||||
return -ENOMEM;
|
||||
lt9611 = devm_drm_bridge_alloc(dev, struct lt9611, bridge,
|
||||
<9611_bridge_funcs);
|
||||
if (IS_ERR(lt9611))
|
||||
return PTR_ERR(lt9611);
|
||||
|
||||
lt9611->dev = dev;
|
||||
lt9611->client = client;
|
||||
@@ -1127,7 +1128,6 @@ static int lt9611_probe(struct i2c_client *client)
|
||||
/* Disable Audio InfoFrame, enabled by default */
|
||||
regmap_update_bits(lt9611->regmap, 0x843d, LT9611_INFOFRAME_AUDIO, 0);
|
||||
|
||||
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 |
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user