ace80ab796
This patch removes the change in behavior of the irq allocation code when CONFIG_PCI_MSI is defined. Removing all instances of the assumption that irq == vector. create_irq is rewritten to first allocate a free irq and then to assign that irq a vector. assign_irq_vector is made static and the AUTO_ASSIGN case which allocates an vector not bound to an irq is removed. The ioapic vector methods are removed, and everything now works with irqs. The definition of NR_IRQS no longer depends on CONFIG_PCI_MSI [akpm@osdl.org: cleanup] Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Rajesh Shah <rajesh.shah@intel.com> Cc: Andi Kleen <ak@muc.de> Cc: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 lines
331 B
C
17 lines
331 B
C
#ifndef _ASM_IRQ_VECTORS_LIMITS_H
|
|
#define _ASM_IRQ_VECTORS_LIMITS_H
|
|
|
|
#ifdef CONFIG_X86_IO_APIC
|
|
#define NR_IRQS 224
|
|
# if (224 >= 32 * NR_CPUS)
|
|
# define NR_IRQ_VECTORS NR_IRQS
|
|
# else
|
|
# define NR_IRQ_VECTORS (32 * NR_CPUS)
|
|
# endif
|
|
#else
|
|
#define NR_IRQS 16
|
|
#define NR_IRQ_VECTORS NR_IRQS
|
|
#endif
|
|
|
|
#endif /* _ASM_IRQ_VECTORS_LIMITS_H */
|