Message ID | 20200626100103.18879-4-a.hajda@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v6,1/4] driver core: add device probe log helper | expand |
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@samsung.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@baylibre.com>
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";
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@samsung.com> --- drivers/gpu/drm/bridge/sil-sii8620.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-)