• Eric W. Biederman's avatar
    [PATCH] msi: refactor and move the msi irq_chip into the arch code · 3b7d1921
    Eric W. Biederman authored
    
    
    It turns out msi_ops was simply not enough to abstract the architecture
    specific details of msi.  So I have moved the resposibility of constructing
    the struct irq_chip to the architectures, and have two architecture specific
    functions arch_setup_msi_irq, and arch_teardown_msi_irq.
    
    For simple architectures those functions can do all of the work.  For
    architectures with platform dependencies they can call into the appropriate
    platform code.
    
    With this msi.c is finally free of assuming you have an apic, and this
    actually takes less code.
    
    The helpers for the architecture specific code are declared in the linux/msi.h
    to keep them separate from the msi functions used by drivers in linux/pci.h
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Andi Kleen <ak@suse.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Greg KH <greg@kroah.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    3b7d1921
io_apic.c 48.8 KB