Re: [PATCH 1/2] irqchip/imx-intmux: Use dev_err_probe() to simplify error handling

From: Ahmad Fatoum
Date: Tue Aug 11 2020 - 01:46:37 EST


Hello,

On 8/11/20 6:25 AM, Anson Huang wrote:
> dev_err_probe() can reduce code size, uniform error handling and record the
> defer probe reason etc., use it to simplify the code.
>
> Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>
> ---
> drivers/irqchip/irq-imx-intmux.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/irqchip/irq-imx-intmux.c b/drivers/irqchip/irq-imx-intmux.c
> index e35b7b0..2f51ec9 100644
> --- a/drivers/irqchip/irq-imx-intmux.c
> +++ b/drivers/irqchip/irq-imx-intmux.c
> @@ -226,12 +226,10 @@ static int imx_intmux_probe(struct platform_device *pdev)
> }
>
> data->ipg_clk = devm_clk_get(&pdev->dev, "ipg");
> - if (IS_ERR(data->ipg_clk)) {
> - ret = PTR_ERR(data->ipg_clk);
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "failed to get ipg clk: %d\n", ret);
> - return ret;
> - }
> + if (IS_ERR(data->ipg_clk))
> + return dev_err_probe(&pdev->dev, PTR_ERR(data->ipg_clk),
> + "failed to get ipg clk: %ld\n",
> + PTR_ERR(data->ipg_clk));

Haven't used dev_err_probe myself yet, but the function does

if (err != -EPROBE_DEFER) {
dev_err(dev, "error %d: %pV", err, &vaf);

so your message would become

"error %d: failed to get ipg clk: %d\n"

printing the same error code twice. If so, you should drop the second.

Cheers
Ahmad

>
> data->channum = channum;
> raw_spin_lock_init(&data->lock);
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |