mirror of https://gitee.com/openkylin/linux.git
[ARM] pxa: add set_type to the pxa3xx ext_wakeup irq chip.
pxa3xx cpu needs the irq type setup to be able to wakeup from low power mode on IRQ_WAKEUPx events. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
This commit is contained in:
parent
dcd925f951
commit
1288209651
|
@ -552,11 +552,23 @@ static void pxa_unmask_ext_wakeup(unsigned int irq)
|
|||
PECR |= PECR_IE(irq - IRQ_WAKEUP0);
|
||||
}
|
||||
|
||||
static int pxa_set_ext_wakeup_type(unsigned int irq, unsigned int flow_type)
|
||||
{
|
||||
if (flow_type & IRQ_TYPE_EDGE_RISING)
|
||||
PWER |= 1 << (irq - IRQ_WAKEUP0);
|
||||
|
||||
if (flow_type & IRQ_TYPE_EDGE_FALLING)
|
||||
PWER |= 1 << (irq - IRQ_WAKEUP0 + 2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct irq_chip pxa_ext_wakeup_chip = {
|
||||
.name = "WAKEUP",
|
||||
.ack = pxa_ack_ext_wakeup,
|
||||
.mask = pxa_mask_ext_wakeup,
|
||||
.unmask = pxa_unmask_ext_wakeup,
|
||||
.set_type = pxa_set_ext_wakeup_type,
|
||||
};
|
||||
|
||||
static void __init pxa_init_ext_wakeup_irq(set_wake_t fn)
|
||||
|
|
Loading…
Reference in New Issue