aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2021-03-04 12:54:32 +0200
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>2021-03-25 14:52:41 +0200
commit5b613df3f499e305f3aecd58090a71ec0d92930d (patch)
treec7f2bcfdd0e71a1a7a9e2dacbec889db7d119df5
parentpinctrl: intel: Show the GPIO base calculation explicitly (diff)
downloadlinux-dev-5b613df3f499e305f3aecd58090a71ec0d92930d.tar.xz
linux-dev-5b613df3f499e305f3aecd58090a71ec0d92930d.zip
pinctrl: intel: No need to disable IRQs in the handler
In IRQ handler interrupts are already disabled, hence no need to repeat it. Even in the threaded case, which is disabled here, it is not a problem because IRQ framework serializes descriptor handling. Remove disabling IRQ part in the handler. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
-rw-r--r--drivers/pinctrl/intel/pinctrl-intel.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index 7283203861ae..795d60d9ebba 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -1173,16 +1173,15 @@ static int intel_gpio_community_irq_handler(struct intel_pinctrl *pctrl,
for (gpp = 0; gpp < community->ngpps; gpp++) {
const struct intel_padgroup *padgrp = &community->gpps[gpp];
unsigned long pending, enabled, gpp_offset;
- unsigned long flags;
- raw_spin_lock_irqsave(&pctrl->lock, flags);
+ raw_spin_lock(&pctrl->lock);
pending = readl(community->regs + community->is_offset +
padgrp->reg_num * 4);
enabled = readl(community->regs + community->ie_offset +
padgrp->reg_num * 4);
- raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+ raw_spin_unlock(&pctrl->lock);
/* Only interrupts that are enabled */
pending &= enabled;