We would like at least a baseline set of interrupt handling function prototypes in a common header that will be used by drivers to manage interrupts. The implementation of these APIs can be done in arch-specific code or code for the selected interrupt controller. This should greatly help porting drivers among platforms and ensure that subtle differences in interrupt handling APIs are known. This will also allow us to not directly call APIs directly in interrupt controller code; for example much x86 core code assumes an APIC and support for Quark D2000 MVIC had to be hacked in by conforming to the APIC driver's interface.
1) IRQ APIs, as much as possible, consolidated into a common header
2) All references to specific interrupt controllers removed from arch/ code
3) All code supporting specific interrupt controllers (NVIC, etc) moved to drivers/interrupt_controller