mfd: arizona: Propagate irq_wake through to parent IRQ
If one of the internal Arizona IRQs is set as a wake source this needs to be propogated back to the actual IRQ line that the Arizona device is attached to. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
dc5193cc4a
commit
c38715fed8
|
@ -152,10 +152,18 @@ static void arizona_irq_disable(struct irq_data *data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int arizona_irq_set_wake(struct irq_data *data, unsigned int on)
|
||||||
|
{
|
||||||
|
struct arizona *arizona = irq_data_get_irq_chip_data(data);
|
||||||
|
|
||||||
|
return irq_set_irq_wake(arizona->irq, on);
|
||||||
|
}
|
||||||
|
|
||||||
static struct irq_chip arizona_irq_chip = {
|
static struct irq_chip arizona_irq_chip = {
|
||||||
.name = "arizona",
|
.name = "arizona",
|
||||||
.irq_disable = arizona_irq_disable,
|
.irq_disable = arizona_irq_disable,
|
||||||
.irq_enable = arizona_irq_enable,
|
.irq_enable = arizona_irq_enable,
|
||||||
|
.irq_set_wake = arizona_irq_set_wake,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int arizona_irq_map(struct irq_domain *h, unsigned int virq,
|
static int arizona_irq_map(struct irq_domain *h, unsigned int virq,
|
||||||
|
|
Loading…
Reference in New Issue