]> err.no Git - linux-2.6/commit
[PATCH] msi: refactor and move the msi irq_chip into the arch code
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 4 Oct 2006 09:16:59 +0000 (02:16 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 4 Oct 2006 14:55:29 +0000 (07:55 -0700)
commit3b7d1921f4cdd6d6ddb7899ae7a8d413991c5cf4
tree5f809e0c4310f60dfa6f65d54fbaf9f01e2ebff9
parent277bc33bc2479707e88b0b2ae6fe56e8e4aabe81
[PATCH] msi: refactor and move the msi irq_chip into the arch code

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: Eric 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: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
13 files changed:
arch/i386/kernel/io_apic.c
arch/x86_64/kernel/io_apic.c
drivers/pci/msi-altix.c
drivers/pci/msi-apic.c
drivers/pci/msi.c
drivers/pci/msi.h
include/asm-i386/msi.h [deleted file]
include/asm-ia64/machvec.h
include/asm-ia64/machvec_sn2.h
include/asm-ia64/msi.h [deleted file]
include/asm-x86_64/msi.h [deleted file]
include/linux/msi.h [new file with mode: 0644]
include/linux/pci.h