[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <15310ceb-64dc-db07-dad5-8a1fcb5433eb@baylibre.com>
Date: Mon, 29 Jun 2020 10:33:09 +0200
From: Neil Armstrong <narmstrong@...libre.com>
To: Andrzej Hajda <a.hajda@...sung.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
andy.shevchenko@...il.com, Mark Brown <broonie@...nel.org>,
Russell King - ARM Linux <linux@...linux.org.uk>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>,
Jernej Skrabec <jernej.skrabec@...l.net>,
Daniel Vetter <daniel@...ll.ch>,
"open list:DRM DRIVERS" <dri-devel@...ts.freedesktop.org>
Subject: Re: [PATCH v6 3/4] drm/bridge/sii8620: fix resource acquisition error
handling
On 26/06/2020 12:01, Andrzej Hajda wrote:
> In case of error during resource acquisition driver should print error
> message only in case it is not deferred probe, using dev_err_probe helper
> solves the issue. Moreover it records defer probe reason for debugging.
>
> Signed-off-by: Andrzej Hajda <a.hajda@...sung.com>
> ---
> drivers/gpu/drm/bridge/sil-sii8620.c | 21 +++++++++------------
> 1 file changed, 9 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c b/drivers/gpu/drm/bridge/sil-sii8620.c
> index 92acd336aa89..389c1f029774 100644
> --- a/drivers/gpu/drm/bridge/sil-sii8620.c
> +++ b/drivers/gpu/drm/bridge/sil-sii8620.c
> @@ -2299,10 +2299,9 @@ static int sii8620_probe(struct i2c_client *client,
> INIT_LIST_HEAD(&ctx->mt_queue);
>
> ctx->clk_xtal = devm_clk_get(dev, "xtal");
> - if (IS_ERR(ctx->clk_xtal)) {
> - dev_err(dev, "failed to get xtal clock from DT\n");
> - return PTR_ERR(ctx->clk_xtal);
> - }
> + if (IS_ERR(ctx->clk_xtal))
> + return dev_err_probe(dev, PTR_ERR(ctx->clk_xtal),
> + "failed to get xtal clock from DT\n");
>
> if (!client->irq) {
> dev_err(dev, "no irq provided\n");
> @@ -2313,16 +2312,14 @@ static int sii8620_probe(struct i2c_client *client,
> sii8620_irq_thread,
> IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
> "sii8620", 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");
>
> ctx->gpio_reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
> - if (IS_ERR(ctx->gpio_reset)) {
> - dev_err(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(dev, PTR_ERR(ctx->gpio_reset),
> + "failed to get reset gpio from DT\n");
>
> ctx->supplies[0].supply = "cvcc10";
> ctx->supplies[1].supply = "iovcc18";
>
Nice helper, totally missed this patchset before !
Reviewed-by: Neil Armstrong <narmstrong@...libre.com>
Powered by blists - more mailing lists