Re: [PATCH v2 1/5] MIPS: jz4740: remove broken irq_to_gpio() call

From: Ralf Baechle
Date: Tue Feb 16 2016 - 11:06:26 EST


On Tue, Feb 16, 2016 at 04:40:34PM +0100, Arnd Bergmann wrote:
> Date: Tue, 16 Feb 2016 16:40:34 +0100
> From: Arnd Bergmann <arnd@xxxxxxxx>
> To: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, Arnd Bergmann <arnd@xxxxxxxx>,
> Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>, Bjorn Helgaas
> <bhelgaas@xxxxxxxxxx>, Alexandre Courbot <gnurou@xxxxxxxxx>,
> linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Lars-Peter
> Clausen <lars@xxxxxxxxxx>, Ralf Baechle <ralf@xxxxxxxxxxxxxx>,
> linux-mips@xxxxxxxxxxxxxx, "# v4 . 3+" <stable@xxxxxxxxxxxxxxx>, Alban
> Bedel <albeu@xxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Paul Burton
> <paul.burton@xxxxxxxxxx>
> Subject: [PATCH v2 1/5] MIPS: jz4740: remove broken irq_to_gpio() call
>
> gpiolib has removed the irq_to_gpio() API several years ago,
> but the global header still provided a non-working stub.
>
> With a MIPS-wide change to use the generic header file, the jz4740
> platform is now using the wrong stub implementation of irq_to_gpio(),
> which cannot work.
>
> This uses an open-coded implementation in the only line it
> is used in.
>
> Suggested-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx> # v4.3+
> Fixes: 832f5dacfa0b ("MIPS: Remove all the uses of custom gpio.h").
> ---
> arch/mips/jz4740/gpio.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/mips/jz4740/gpio.c b/arch/mips/jz4740/gpio.c
> index 8c6d76c9b2d6..d9907e57e9b9 100644
> --- a/arch/mips/jz4740/gpio.c
> +++ b/arch/mips/jz4740/gpio.c
> @@ -270,7 +270,7 @@ uint32_t jz_gpio_port_get_value(int port, uint32_t mask)
> }
> EXPORT_SYMBOL(jz_gpio_port_get_value);
>
> -#define IRQ_TO_BIT(irq) BIT(irq_to_gpio(irq) & 0x1f)
> +#define IRQ_TO_BIT(irq) BIT((irq - JZ4740_IRQ_GPIO(0)) & 0x1f)
>
> static void jz_gpio_check_trigger_both(struct jz_gpio_chip *chip, unsigned int irq)
> {

I've already committed an identical fix locally.

Ralf