diff options
Diffstat (limited to 'arch/x86/kernel/io_apic.c')
-rw-r--r-- | arch/x86/kernel/io_apic.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c index e4d36bd56b62..bfb7d734062a 100644 --- a/arch/x86/kernel/io_apic.c +++ b/arch/x86/kernel/io_apic.c | |||
@@ -3465,40 +3465,6 @@ static int setup_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int irq) | |||
3465 | return 0; | 3465 | return 0; |
3466 | } | 3466 | } |
3467 | 3467 | ||
3468 | int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc) | ||
3469 | { | ||
3470 | unsigned int irq; | ||
3471 | int ret; | ||
3472 | unsigned int irq_want; | ||
3473 | |||
3474 | irq_want = nr_irqs_gsi; | ||
3475 | irq = create_irq_nr(irq_want); | ||
3476 | if (irq == 0) | ||
3477 | return -1; | ||
3478 | |||
3479 | #ifdef CONFIG_INTR_REMAP | ||
3480 | if (!intr_remapping_enabled) | ||
3481 | goto no_ir; | ||
3482 | |||
3483 | ret = msi_alloc_irte(dev, irq, 1); | ||
3484 | if (ret < 0) | ||
3485 | goto error; | ||
3486 | no_ir: | ||
3487 | #endif | ||
3488 | ret = setup_msi_irq(dev, msidesc, irq); | ||
3489 | if (ret < 0) { | ||
3490 | destroy_irq(irq); | ||
3491 | return ret; | ||
3492 | } | ||
3493 | return 0; | ||
3494 | |||
3495 | #ifdef CONFIG_INTR_REMAP | ||
3496 | error: | ||
3497 | destroy_irq(irq); | ||
3498 | return ret; | ||
3499 | #endif | ||
3500 | } | ||
3501 | |||
3502 | int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | 3468 | int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) |
3503 | { | 3469 | { |
3504 | unsigned int irq; | 3470 | unsigned int irq; |