diff options
author | Johannes Weiner <jw@emlix.com> | 2009-03-04 16:21:31 +0100 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2009-04-02 23:43:01 -0700 |
commit | 4c0d214144bcedc0b3582c88d6313055949755b5 (patch) | |
tree | ec732f465e7b4df0aaab5fbc018d146984df9e85 /arch/xtensa/kernel/irq.c | |
parent | 72197b18bc0e86feba7cc9f907551e30948bd526 (diff) |
xtensa: variant irq set callbacks
Allow the core variant code to provide irq enable/disable callbacks.
Signed-off-by: Johannes Weiner <jw@emlix.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/xtensa/kernel/irq.c')
-rw-r--r-- | arch/xtensa/kernel/irq.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/xtensa/kernel/irq.c b/arch/xtensa/kernel/irq.c index f3b66fba5b8..a36c85edd04 100644 --- a/arch/xtensa/kernel/irq.c +++ b/arch/xtensa/kernel/irq.c @@ -132,6 +132,18 @@ static void xtensa_irq_unmask(unsigned int irq) set_sr (cached_irq_mask, INTENABLE); } +static void xtensa_irq_enable(unsigned int irq) +{ + variant_irq_enable(irq); + xtensa_irq_unmask(irq); +} + +static void xtensa_irq_disable(unsigned int irq) +{ + xtensa_irq_mask(irq); + variant_irq_disable(irq); +} + static void xtensa_irq_ack(unsigned int irq) { set_sr(1 << irq, INTCLEAR); @@ -146,6 +158,8 @@ static int xtensa_irq_retrigger(unsigned int irq) static struct irq_chip xtensa_irq_chip = { .name = "xtensa", + .enable = xtensa_irq_enable, + .disable = xtensa_irq_disable, .mask = xtensa_irq_mask, .unmask = xtensa_irq_unmask, .ack = xtensa_irq_ack, |