]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: graniterapids: Fix GPIO Ack functionality
authorAlan Borzeszkowski <alan.borzeszkowski@linux.intel.com>
Wed, 4 Dec 2024 07:04:15 +0000 (09:04 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 10 Dec 2024 09:35:13 +0000 (10:35 +0100)
Interrupt status (GPI_IS) register is cleared by writing 1 to it, not 0.

Cc: stable@vger.kernel.org
Signed-off-by: Alan Borzeszkowski <alan.borzeszkowski@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20241204070415.1034449-8-mika.westerberg@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-graniterapids.c

index 3a972d460fe2bcb0f215bc7220cb8de99efc8c6b..ad6a045fd3d2d2b02dfd6999627cf17952e74d9f 100644 (file)
@@ -185,7 +185,7 @@ static void gnr_gpio_irq_ack(struct irq_data *d)
        guard(raw_spinlock_irqsave)(&priv->lock);
 
        reg = readl(addr);
-       reg &= ~BIT(bit_idx);
+       reg |= BIT(bit_idx);
        writel(reg, addr);
 }