]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pinctrl: cy8c95x0: Respect IRQ trigger settings from firmware
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 17 Jan 2025 14:21:45 +0000 (16:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Feb 2025 12:49:56 +0000 (13:49 +0100)
[ Upstream commit 1ddee69108d305bbc059cbf31c0b47626796be77 ]

Some of the platforms may connect the INT pin via inversion logic
effectively make the triggering to be active-low.
Remove explicit trigger flag to respect the settings from firmware.

Without this change even idling chip produces spurious interrupts
and kernel disables the line in the result:

  irq 33: nobody cared (try booting with the "irqpoll" option)
  CPU: 0 UID: 0 PID: 125 Comm: irq/33-i2c-INT3 Not tainted 6.12.0-00236-g8b874ed11dae #64
  Hardware name: Intel Corp. QUARK/Galileo, BIOS 0x01000900 01/01/2014
  ...
  handlers:
  [<86e86bea>] irq_default_primary_handler threaded [<d153e44a>] cy8c95x0_irq_handler [pinctrl_cy8c95x0]
  Disabling IRQ #33

Fixes: e6cbbe42944d ("pinctrl: Add Cypress cy8c95x0 support")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/20250117142304.596106-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/pinctrl-cy8c95x0.c

index 5abab6bc763aeca562169db0149a806a05b0bb17..f7c8ae980813304984d0e8c53537cc7128970aab 100644 (file)
@@ -1234,7 +1234,7 @@ static int cy8c95x0_irq_setup(struct cy8c95x0_pinctrl *chip, int irq)
 
        ret = devm_request_threaded_irq(chip->dev, irq,
                                        NULL, cy8c95x0_irq_handler,
-                                       IRQF_ONESHOT | IRQF_SHARED | IRQF_TRIGGER_HIGH,
+                                       IRQF_ONESHOT | IRQF_SHARED,
                                        dev_name(chip->dev), chip);
        if (ret) {
                dev_err(chip->dev, "failed to request irq %d\n", irq);