On 05/29/2024, Alexander Stein wrote: > Although very unlike to occur (media_blk_ctrl needs 'syscon' compatible > removed), it lines up with the other error paths in probe function. Why media_blk_ctrl needs 'syscon' compatible removed? device_node_get_regmap may return error pointer other than ERR_PTR(-EPROBE_DEFER), like ERR_PTR(-ENOMEM). struct regmap *syscon_node_to_regmap(struct device_node *np) { if (!of_device_is_compatible(np, "syscon")) return ERR_PTR(-EINVAL); return device_node_get_regmap(np, true); } EXPORT_SYMBOL_GPL(syscon_node_to_regmap); Regard, Liu Ying > > Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > --- > Changes in v2: > * Removed unused variable > * Added missing \n at end of string > > drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c b/drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c > index 2347f8dd632f9..13025f47f3902 100644 > --- a/drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c > +++ b/drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c > @@ -834,18 +834,15 @@ static int imx93_dsi_probe(struct platform_device *pdev) > struct device *dev = &pdev->dev; > struct device_node *np = dev->of_node; > struct imx93_dsi *dsi; > - int ret; > > dsi = devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL); > if (!dsi) > return -ENOMEM; > > dsi->regmap = syscon_regmap_lookup_by_phandle(np, "fsl,media-blk-ctrl"); > - if (IS_ERR(dsi->regmap)) { > - ret = PTR_ERR(dsi->regmap); > - dev_err(dev, "failed to get block ctrl regmap: %d\n", ret); > - return ret; > - } > + if (IS_ERR(dsi->regmap)) > + return dev_err_probe(dev, PTR_ERR(dsi->regmap), > + "failed to get block ctrl regmap\n"); > > dsi->clk_pixel = devm_clk_get(dev, "pix"); > if (IS_ERR(dsi->clk_pixel))