mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 07:23:14 +00:00
pinctrl: single: call pcs_soc->rearm() whenever IRQ mask is changed
On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc->rearm() from pcs_irq_set(). As pinctrl-single is now an interrupt controller in some cases, we should follow the standards and keep the interrupts enabled constantly, and not just for wake-up events. The tracking of runtime vs wake-up interrupts can be handled separately for the automated runtime PM solution when we have it in the future. Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> [tony@atomide.com: removed wrong comment, updated description] Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
30e3488cbf
commit
c9b3a7d227
@ -1604,6 +1604,9 @@ static inline void pcs_irq_set(struct pcs_soc_data *pcs_soc,
|
||||
pcs->write(mask, pcswi->reg);
|
||||
raw_spin_unlock(&pcs->lock);
|
||||
}
|
||||
|
||||
if (pcs_soc->rearm)
|
||||
pcs_soc->rearm();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1626,8 +1629,6 @@ static void pcs_irq_unmask(struct irq_data *d)
|
||||
struct pcs_soc_data *pcs_soc = irq_data_get_irq_chip_data(d);
|
||||
|
||||
pcs_irq_set(pcs_soc, d->irq, true);
|
||||
if (pcs_soc->rearm)
|
||||
pcs_soc->rearm();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1678,11 +1679,6 @@ static int pcs_irq_handle(struct pcs_soc_data *pcs_soc)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* For debugging on omaps, you may want to call pcs_soc->rearm()
|
||||
* here to see wake-up interrupts during runtime also.
|
||||
*/
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user