[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <opsrp4mlhwzoldthsna5wx32b755wl3uxrbqvocvnl5ssduf3k@76a7fycatbho>
Date: Sun, 27 Jul 2025 19:38:12 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: Henrik Grimler <henrik@...mler.se>
Cc: Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>,
Robert Foss <rfoss@...nel.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
dri-devel@...ts.freedesktop.org, linux-samsung-soc@...r.kernel.org,
~postmarketos/upstreaming@...ts.sr.ht, replicant@...osl.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/3] drm/bridge: sii9234: use dev_err_probe where
applicable
On Thu, Jul 24, 2025 at 08:50:52PM +0200, Henrik Grimler wrote:
> In case of error during resource acquisition the driver should print
> an error message only if it is not deferred probe. Use dev_err_probe
> helper to handle this, which will also record defer probe reason for
> debugging.
>
> Signed-off-by: Henrik Grimler <henrik@...mler.se>
> ---
> v2: no changes
> ---
> drivers/gpu/drm/bridge/sii9234.c | 18 +++++++-----------
> 1 file changed, 7 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/sii9234.c b/drivers/gpu/drm/bridge/sii9234.c
> index 930117bbba87285e62107389606897740516eb0a..0e0bb1bf71fdcef788715cfd6fa158a6992def33 100644
> --- a/drivers/gpu/drm/bridge/sii9234.c
> +++ b/drivers/gpu/drm/bridge/sii9234.c
> @@ -825,10 +825,9 @@ static int sii9234_init_resources(struct sii9234 *ctx,
> }
>
> ctx->gpio_reset = devm_gpiod_get(ctx->dev, "reset", GPIOD_OUT_LOW);
> - if (IS_ERR(ctx->gpio_reset)) {
> - dev_err(ctx->dev, "failed to get reset gpio from DT\n");
> - return PTR_ERR(ctx->gpio_reset);
> - }
> + if (IS_ERR(ctx->gpio_reset))
> + return dev_err_probe(ctx->dev, PTR_ERR(ctx->gpio_reset),
> + "failed to get reset gpio from DT\n");
>
> ctx->supplies[0].supply = "avcc12";
> ctx->supplies[1].supply = "avcc33";
> @@ -836,9 +835,7 @@ static int sii9234_init_resources(struct sii9234 *ctx,
> ctx->supplies[3].supply = "cvcc12";
> ret = devm_regulator_bulk_get(ctx->dev, 4, ctx->supplies);
> if (ret) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(ctx->dev, "regulator_bulk failed\n");
> - return ret;
> + dev_err_probe(ctx->dev, ret, "regulator_bulk failed\n");
Drop the braces, use 'return dev_err_probe(...)'
> }
>
> ctx->client[I2C_MHL] = client;
> @@ -911,10 +908,9 @@ static int sii9234_probe(struct i2c_client *client)
> sii9234_irq_thread,
> IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
> "sii9234", ctx);
> - if (ret < 0) {
> - dev_err(dev, "failed to install IRQ handler\n");
> - return ret;
> - }
> + if (ret < 0)
> + return dev_err_probe(dev, ret,
> + "failed to install IRQ handler\n");
>
> ret = sii9234_init_resources(ctx, client);
> if (ret < 0)
>
> --
> 2.50.1
>
--
With best wishes
Dmitry
Powered by blists - more mailing lists