diff options
author | Magnus Damm <damm@opensource.se> | 2013-02-26 20:59:04 +0900 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-03-18 21:26:06 +0900 |
commit | d1b6aecde4ab146d115abcaf3bb1940d8e980b5a (patch) | |
tree | dbc0704ddab0921479134afd50a5d21f8106873a /drivers/irqchip | |
parent | 33f958f2a71c44164698d1cae5463c0b85296a2c (diff) | |
download | linux-d1b6aecde4ab146d115abcaf3bb1940d8e980b5a.tar.gz linux-d1b6aecde4ab146d115abcaf3bb1940d8e980b5a.tar.bz2 linux-d1b6aecde4ab146d115abcaf3bb1940d8e980b5a.zip |
irqchip: intc-irqpin: Add force comments
Add comments to describe the special case for
"force" versions of enable and disable functions.
Signed-off-by: Magnus Damm <damm@opensource.se>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'drivers/irqchip')
-rw-r--r-- | drivers/irqchip/irq-renesas-intc-irqpin.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-renesas-intc-irqpin.c b/drivers/irqchip/irq-renesas-intc-irqpin.c index 0ac2bf683378..59c0cbccf212 100644 --- a/drivers/irqchip/irq-renesas-intc-irqpin.c +++ b/drivers/irqchip/irq-renesas-intc-irqpin.c @@ -199,6 +199,11 @@ static void intc_irqpin_irq_enable_force(struct irq_data *d) int irq = p->irq[irqd_to_hwirq(d)].requested_irq; intc_irqpin_irq_enable(d); + + /* enable interrupt through parent interrupt controller, + * assumes non-shared interrupt with 1:1 mapping + * needed for busted IRQs on some SoCs like sh73a0 + */ irq_get_chip(irq)->irq_unmask(irq_get_irq_data(irq)); } @@ -207,6 +212,10 @@ static void intc_irqpin_irq_disable_force(struct irq_data *d) struct intc_irqpin_priv *p = irq_data_get_irq_chip_data(d); int irq = p->irq[irqd_to_hwirq(d)].requested_irq; + /* disable interrupt through parent interrupt controller, + * assumes non-shared interrupt with 1:1 mapping + * needed for busted IRQs on some SoCs like sh73a0 + */ irq_get_chip(irq)->irq_mask(irq_get_irq_data(irq)); intc_irqpin_irq_disable(d); } |