Re: [PATCH v2 4/5] mfd: tqmx86: make IRQ setup errors non-fatal
From: Lee Jones
Date: Thu Jun 20 2024 - 12:37:28 EST
On Mon, 17 Jun 2024, Matthias Schiffer wrote:
> GPIO IRQ setup can fail either because an invalid IRQ was passed as a
> parameter, or because the GPIO controller does not support interrupts.
> Neither is severe enough to stop the whole probe; simply disable IRQ
> support in the GPIO resource when setup fails.
>
> Signed-off-by: Matthias Schiffer <matthias.schiffer@xxxxxxxxxxxxxxx>
> ---
>
> v2: no changes (was patch 3/4)
>
> drivers/mfd/tqmx86.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c
> index 5aa51ead00a28..7f9ccd83278dd 100644
> --- a/drivers/mfd/tqmx86.c
> +++ b/drivers/mfd/tqmx86.c
> @@ -259,13 +259,14 @@ static int tqmx86_probe(struct platform_device *pdev)
> err = tqmx86_setup_irq(dev, "GPIO", gpio_irq, io_base,
> TQMX86_REG_IO_EXT_INT_GPIO_SHIFT);
> if (err)
> - return err;
> + gpio_irq = 0;
> + }
>
> + if (gpio_irq)
Stacking identical if()s one after another doesn't sound very efficient.
Why not put the contents of this one inside the one above?
> /* Assumes the IRQ resource is first. */
> tqmx_gpio_resources[0].start = gpio_irq;
> - } else {
> + else
> tqmx_gpio_resources[0].flags = 0;
> - }
>
> ocores_platform_data.clock_khz = tqmx86_board_id_to_clk_rate(dev, board_id);
>
> --
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> https://www.tq-group.com/
>
--
Lee Jones [李琼斯]