Hi, Am Mittwoch, 29. Mai 2024, 09:50:24 CEST schrieb Liu Ying: > 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? No, it does not. As media_blk_ctrl is also used as power-domain the device will not even be probed if media_blk_ctrl is not available. I just mentioned it under which conditions this error path could happen. Best regards, Alexander > 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)) > > -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/