Re: [PATCH] ASoC: renesas: fsi: Propagate platform_get_irq() errors
From: Geert Uytterhoeven
Date: Tue Jun 30 2026 - 11:49:21 EST
Hi Narasimharao,
On Mon, 29 Jun 2026 at 18:25, Narasimharao Vadlamudi
<ahmisaranrao@xxxxxxxxx> wrote:
> platform_get_irq() returns a negative error code on failure. The
> driver currently stores the return value in an unsigned int and returns
> -ENODEV for all failures, which loses useful errors such as
> -EPROBE_DEFER.
>
> Store the IRQ in an int and return the error from platform_get_irq()
> directly.
>
> Signed-off-by: Narasimharao Vadlamudi <ahmisaranrao@xxxxxxxxx>
Thanks for your patch!
> --- a/sound/soc/renesas/fsi.c
> +++ b/sound/soc/renesas/fsi.c
> @@ -1992,7 +1992,7 @@ static int fsi_probe(struct platform_device *pdev)
> const struct fsi_core *core;
> struct fsi_priv *fsi;
> struct resource *res;
> - unsigned int irq;
> + int irq;
> int ret;
>
> memset(&info, 0, sizeof(info));
> @@ -2007,12 +2007,15 @@ static int fsi_probe(struct platform_device *pdev)
> }
>
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - irq = platform_get_irq(pdev, 0);
> - if (!res || (int)irq <= 0) {
This check also covered irq == 0, but that can indeed no longer happen.
Might be good to mention that in the commit message.
> + if (!res) {
> dev_err(&pdev->dev, "Not enough FSI platform resources.\n");
> return -ENODEV;
> }
>
> + irq = platform_get_irq(pdev, 0);
> + if (irq < 0)
> + return irq;
> +
> master = devm_kzalloc(&pdev->dev, sizeof(*master), GFP_KERNEL);
> if (!master)
> return -ENOMEM;
Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds