davinci: cp_intc: provide set_wake function
There is nothing special to be done for interrupts which can wakeup the device from sleep on CP-INTC, but not having a set_wake implemented prevents use of common drivers which expect this function to be implemented for all wakeup interrupt sources. This patch fixes the issue encountered when using the omap-rtc driver on DA850. On DA850 the RTC alarm interrupt is used to wake up the SoC from deep sleep mode. Without this patch, the disable_irq_wake throws an unbalanced wake disable warning while resuming because the previous enable call fails for lack of set_wake implementation. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
This commit is contained in:
parent
077639f443
commit
2d3f595016
|
@ -81,12 +81,23 @@ static int cp_intc_set_irq_type(unsigned int irq, unsigned int flow_type)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Faking this allows us to to work with suspend functions of
|
||||
* generic drivers which call {enable|disable}_irq_wake for
|
||||
* wake up interrupt sources (eg RTC on DA850).
|
||||
*/
|
||||
static int cp_intc_set_wake(unsigned int irq, unsigned int on)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct irq_chip cp_intc_irq_chip = {
|
||||
.name = "cp_intc",
|
||||
.ack = cp_intc_ack_irq,
|
||||
.mask = cp_intc_mask_irq,
|
||||
.unmask = cp_intc_unmask_irq,
|
||||
.set_type = cp_intc_set_irq_type,
|
||||
.set_wake = cp_intc_set_wake,
|
||||
};
|
||||
|
||||
void __init cp_intc_init(void __iomem *base, unsigned short num_irq,
|
||||
|
|
Loading…
Reference in New Issue