diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2015-05-11 11:05:13 +0200 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2015-05-11 11:05:13 +0200 |
commit | fd2c7bbe3b6a93ee59b29df2b345cedb4fea0b6b (patch) | |
tree | dd866544f06210ee21d90515058356e19d230c54 | |
parent | 7863765e0f3d2a20a0a69e49c44c1e2f96608c8f (diff) |
irqchip: vf610-gpc: fix domain hierarchy enable/disable
To make sure enable/disable callbacks get called in drivers higher
up in the IRQ domain hierarchy, we need to call the parents enable/
disable functions explicitly.
-rw-r--r-- | drivers/irqchip/irq-vf610-gpc.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-vf610-gpc.c b/drivers/irqchip/irq-vf610-gpc.c index 29e789dace47..060dc3f2343d 100644 --- a/drivers/irqchip/irq-vf610-gpc.c +++ b/drivers/irqchip/irq-vf610-gpc.c @@ -53,10 +53,24 @@ static int vf610_gpc_irq_set_wake(struct irq_data *d, unsigned int on) return 0; } +static void vf610_gpc_enable_parent(struct irq_data *data) +{ + data = data->parent_data; + data->chip->irq_enable(data); +} + +static void vf610_gpc_disable_parent(struct irq_data *data) +{ + data = data->parent_data; + data->chip->irq_disable(data); +} + static struct irq_chip vf610_gpc_chip = { .name = "vf610-gpc", .irq_mask = irq_chip_mask_parent, .irq_unmask = irq_chip_unmask_parent, + .irq_enable = vf610_gpc_enable_parent, + .irq_disable = vf610_gpc_disable_parent, .irq_eoi = irq_chip_eoi_parent, .irq_retrigger = irq_chip_retrigger_hierarchy, .irq_set_wake = vf610_gpc_irq_set_wake, |