Message ID | 20250117142304.596106-2-andriy.shevchenko@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | pinctrl: cy8c95x0: Bugfixes and cleanups | expand |
On Fri, Jan 17, 2025 at 3:23 PM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > Som 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> Patch applied for fixes! (Speling mistake on first line fixed in the process.) Yours, Linus Walleij
On Mon, Jan 27, 2025 at 11:03:02AM +0100, Linus Walleij wrote: > On Fri, Jan 17, 2025 at 3:23 PM Andy Shevchenko > <andriy.shevchenko@linux.intel.com> wrote: > > > Som 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> > > Patch applied for fixes! (Speling mistake on first line fixed in the process.) Thanks! Any plans to take the rest of the fixes (except the one which Patrick rightfully objected on)?
diff --git a/drivers/pinctrl/pinctrl-cy8c95x0.c b/drivers/pinctrl/pinctrl-cy8c95x0.c index 0d6c2027d4c1..825bd1e528b5 100644 --- a/drivers/pinctrl/pinctrl-cy8c95x0.c +++ b/drivers/pinctrl/pinctrl-cy8c95x0.c @@ -1347,7 +1347,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);
Som 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> --- drivers/pinctrl/pinctrl-cy8c95x0.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)