OpenCloudOS-Kernel/kernel/irq
Simon Guinot 659fb32d1b genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd)
This fixes a regression introduced by e59347a "arm: orion:
Use generic irq chip".

Depending on the device, interrupts acknowledgement is done by setting
or by clearing a dedicated register. Replace irq_gc_ack() with some
{set,clr}_bit variants allows to handle both cases.

Note that this patch affects the following SoCs: Davinci, Samsung and
Orion. Except for this last, the change is minor: irq_gc_ack() is just
renamed into irq_gc_ack_set_bit().

For the Orion SoCs, the edge GPIO interrupts support is currently
broken. irq_gc_ack() try to acknowledge a such interrupt by setting
the corresponding cause register bit. The Orion GPIO device expect the
opposite. To fix this issue, the irq_gc_ack_clr_bit() variant is used.

Tested on Network Space v2.

Reported-by: Joey Oravec <joravec@drewtech.com>
Signed-off-by: Simon Guinot <sguinot@lacie.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2011-07-07 16:02:26 +00:00
..
Kconfig genirq: Make generic irq chip depend on CONFIG_GENERIC_IRQ_CHIP 2011-05-02 18:16:22 +02:00
Makefile genirq: Make generic irq chip depend on CONFIG_GENERIC_IRQ_CHIP 2011-05-02 18:16:22 +02:00
autoprobe.c genirq: Remove compat code 2011-03-29 14:48:19 +02:00
chip.c irq: Export functions to allow modular irq drivers 2011-05-18 14:59:08 +02:00
debug.h genirq: Support per-IRQ thread disabling. 2011-04-23 15:56:24 +02:00
devres.c devres/irq: Fix devm_irq_match comment 2010-02-11 16:01:02 +01:00
dummychip.c genirq: Remove compat code 2011-03-29 14:48:19 +02:00
generic-chip.c genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd) 2011-07-07 16:02:26 +00:00
handle.c irq: Handle spurios irq detection for threaded irqs 2011-06-03 14:53:15 +02:00
internals.h genirq: Remove compat code 2011-03-29 14:48:19 +02:00
irqdesc.c genirq: Ensure we locate the passed IRQ in irq_alloc_descs() 2011-06-03 14:53:16 +02:00
manage.c genirq: Prevent potential NULL dereference in irq_set_irq_wake() 2011-06-10 10:53:42 +02:00
migration.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pm.c genirq: Add chip flag to force mask on suspend 2011-03-12 11:12:58 +01:00
proc.c irq: Remove smp_affinity_list when unregister irq proc 2011-05-26 13:15:28 +02:00
resend.c genirq: Remove compat code 2011-03-29 14:48:19 +02:00
settings.h genirq: Support per-IRQ thread disabling. 2011-04-23 15:56:24 +02:00
spurious.c irq: Handle spurios irq detection for threaded irqs 2011-06-03 14:53:15 +02:00