diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2022-02-11 19:14:58 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2022-03-02 22:28:50 +0100 |
commit | 83d9b7e3955d32d3e4e3321029f655716cb21c99 (patch) | |
tree | dd114d976c942b08632700bfca14952b731640c2 /drivers/mfd | |
parent | 1b9855de1ef4a3f82119f9d8b054a588c7c315fb (diff) |
mfd: ezx-pcap: Use generic_handle_irq_safe().
Instead of manually disabling interrupts before invoking use
generic_handle_irq_safe() which can be invoked with enabled and disabled
interrupts.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220211181500.1856198-6-bigeasy@linutronix.de
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/ezx-pcap.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c index 70fa18b04ad2..b14d3f98e1eb 100644 --- a/drivers/mfd/ezx-pcap.c +++ b/drivers/mfd/ezx-pcap.c @@ -193,13 +193,11 @@ static void pcap_isr_work(struct work_struct *work) ezx_pcap_write(pcap, PCAP_REG_MSR, isr | msr); ezx_pcap_write(pcap, PCAP_REG_ISR, isr); - local_irq_disable(); service = isr & ~msr; for (irq = pcap->irq_base; service; service >>= 1, irq++) { if (service & 1) - generic_handle_irq(irq); + generic_handle_irq_safe(irq); } - local_irq_enable(); ezx_pcap_write(pcap, PCAP_REG_MSR, pcap->msr); } while (gpio_get_value(pdata->gpio)); } |