[PATCH v6 3/4] drm/bridge/sii8620: fix resource acquisition error handling

Neil Armstrong narmstrong at baylibre.com
Mon Jun 29 04:33:09 EDT 2020


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 at 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 at baylibre.com>



More information about the linux-arm-kernel mailing list