OpenCloudOS-Kernel/arch
Thomas Gleixner 4a2581a080 [ARM] 3692/1: ARM: coswitch irq handling to the generic implementation
Patch from Thomas Gleixner

From: Thomas Gleixner <tglx@linutronix.de>

Switch the ARM irq core handling to the generic implementation. The
ARM specific header files now contain mostly migration stubs and
helper macros. Note that each machine type must be converted after
this step seperately. This was seperated out from the patch for easier
review.

The main changes for the machine type code is the conversion of the
type handlers to a 'type flow' and 'chip' model. This affects only the
multiplex interrupt handlers. A conversion macro needs to be added to
those implementations, which defines the data structure which is
registered by the set_irq_chained_handler() macro.

Some minor fixups of include files and the conversion of data
structure access is necessary all over the place.

The mostly macro based conversion was provided to allow an easy
migration of the existing implementations.

The code compiles on all defconfigs available in arch/arm/configs
except those which were broken also before applying the conversion
patches.

The code has been boot and runtime tested on most ARM platforms. The
results of an extensive testing and bugfixing series can be found
at: http://www.linutronix.de/index.php?page=testing

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-01 22:30:09 +01:00
..
alpha Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
arm [ARM] 3692/1: ARM: coswitch irq handling to the generic implementation 2006-07-01 22:30:09 +01:00
arm26 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cris Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
frv Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
h8300 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i386 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
ia64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
m32r Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
m68k Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
m68knommu Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mips Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
parisc Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
powerpc Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ppc Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
sh Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sh64 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
sparc64 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2006-06-30 15:40:35 -07:00
um Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
v850 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
x86_64 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
xtensa Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00