提交 88e20c74 编写于 作者: S Stefan Wahren 提交者: Jason Cooper

irqchip/mxs: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND

The ICOLL controller doesn't provide any facility to configure the
wakeup sources. That's the reason why this implementation lacks
the irq_set_wake implementation. But this prevent us from properly
entering power management states like "suspend to idle".

So enable the flags IRQCHIP_SKIP_SET_WAKE and
IRQCHIP_MASK_ON_SUSPEND to let the irqchip core allows and handles
the power management.
Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: NFabio Estevam <fabio.estevam@nxp.com>
Link: https://lkml.kernel.org/r/1482863397-11400-1-git-send-email-stefan.wahren@i2se.comSigned-off-by: NJason Cooper <jason@lakedaemon.net>
上级 2f884e6e
...@@ -131,12 +131,16 @@ static struct irq_chip mxs_icoll_chip = { ...@@ -131,12 +131,16 @@ static struct irq_chip mxs_icoll_chip = {
.irq_ack = icoll_ack_irq, .irq_ack = icoll_ack_irq,
.irq_mask = icoll_mask_irq, .irq_mask = icoll_mask_irq,
.irq_unmask = icoll_unmask_irq, .irq_unmask = icoll_unmask_irq,
.flags = IRQCHIP_MASK_ON_SUSPEND |
IRQCHIP_SKIP_SET_WAKE,
}; };
static struct irq_chip asm9260_icoll_chip = { static struct irq_chip asm9260_icoll_chip = {
.irq_ack = icoll_ack_irq, .irq_ack = icoll_ack_irq,
.irq_mask = asm9260_mask_irq, .irq_mask = asm9260_mask_irq,
.irq_unmask = asm9260_unmask_irq, .irq_unmask = asm9260_unmask_irq,
.flags = IRQCHIP_MASK_ON_SUSPEND |
IRQCHIP_SKIP_SET_WAKE,
}; };
asmlinkage void __exception_irq_entry icoll_handle_irq(struct pt_regs *regs) asmlinkage void __exception_irq_entry icoll_handle_irq(struct pt_regs *regs)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册