linux/arch
Anton Vorontsov cccd21027c [POWERPC] QEIC: Implement pluggable handlers, fix MPIC cascading
set_irq_chained_handler overwrites MPIC's handle_irq function
(handle_fasteoi_irq) thus MPIC never gets eoi event from the
cascaded IRQ. This situation hangs MPIC on MPC8568E.

To solve this problem efficiently, QEIC needs pluggable handlers,
specific to the underlaying interrupt controller.

Patch extends qe_ic_init() function to accept low and high interrupt
handlers. To avoid #ifdefs, stack of interrupt handlers specified in
the header file and functions are marked 'static inline', thus
handlers are compiled-in only if actually used (in the board file).
Another option would be to lookup for parent controller and
automatically detect handlers (will waste text size because of
never used handlers, so this option abolished).

qe_ic_init() also changed in regard to support multiplexed high/low
lines as found in MPC8568E-MDS, plus qe_ic_cascade_muxed_mpic()
handler implemented appropriately.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-10-08 08:38:57 -05:00
..
alpha alpha: -Werror fixes for sys_titan.c 2007-08-11 15:47:42 -07:00
arm [ARM] Resolve PCI section warnings 2007-09-30 17:36:22 +01:00
avr32 [AVR32] Wire up i2c-gpio on the ATNGW100 board 2007-08-15 16:36:55 +02:00
blackfin Blackfin arch: Update/Fix PM support add new pm_ops valid 2007-08-27 17:29:10 +08:00
cris ide: fix hidden dependencies on CONFIG_IDE_GENERIC 2007-08-20 22:42:54 +02:00
frv FRV: connect up fallocate 2007-08-11 15:47:40 -07:00
h8300 H8/300: Fix misnamed "CONFIG_BLKDEV_RESERVE_ADDRESS" Kconfig variable 2007-09-11 17:21:20 -07:00
i386 [x86 setup] Correct the SMAP check for INT 0x15, AX=0xe820 2007-09-28 10:12:44 -07:00
ia64 Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH 2007-09-10 18:57:47 -07:00
m32r m32r: Rename STI/CLI macros 2007-09-06 11:10:56 +09:00
m68k m68k(nommu): add missing syscalls 2007-09-11 17:21:20 -07:00
m68knommu m68k(nommu): add missing syscalls 2007-09-11 17:21:20 -07:00
mips [MIPS] vmlinux.lds.S: Handle note sections 2007-10-01 14:17:50 +01:00
parisc [PARISC] Add NOTES section 2007-08-27 00:29:25 -04:00
powerpc [POWERPC] QEIC: Implement pluggable handlers, fix MPIC cascading 2007-10-08 08:38:57 -05:00
ppc [PPC] Use cpu setup routines from cpu_setup_44x.S for ARCH=ppc 2007-10-04 11:02:09 +10:00
s390 [S390] kprobes: fix instruction length calculation 2007-08-22 13:51:49 +02:00
sh sh: missing symbol fix for sh4-202 2007-08-22 13:32:07 +09:00
sh64 sh64: arch/sh64/kernel/setup.c: duplicate include removal. 2007-08-12 12:18:54 +09:00
sparc [SPARC]: Fix EBUS use of uninitialized variable. 2007-09-27 13:09:28 -07:00
sparc64 [SPARC64]: Fix missing load-twin usage in Niagara-1 memcpy. 2007-10-02 01:03:09 -07:00
um uml: fix irqstack crash 2007-09-19 11:24:18 -07:00
v850 PTRACE_POKEDATA consolidation 2007-07-17 10:23:03 -07:00
x86_64 x86_64: increase VDSO_TEXT_OFFSET for ancient binutils 2007-10-01 19:21:30 -07:00
xtensa xtensa process.c must #include <linux/fs.h> 2007-08-30 09:58:22 -07:00