diff options
Diffstat (limited to 'arch/x86/kernel')
-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 79b8c0c72d34..157aafa45583 100644 --- a/arch/x86/kernel/io_apic.c +++ b/arch/x86/kernel/io_apic.c | |||
@@ -3462,40 +3462,6 @@ static int setup_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int irq) | |||
3462 | return 0; | 3462 | return 0; |
3463 | } | 3463 | } |
3464 | 3464 | ||
3465 | int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc) | ||
3466 | { | ||
3467 | unsigned int irq; | ||
3468 | int ret; | ||
3469 | unsigned int irq_want; | ||
3470 | |||
3471 | irq_want = nr_irqs_gsi; | ||
3472 | irq = create_irq_nr(irq_want); | ||
3473 | if (irq == 0) | ||
3474 | return -1; | ||
3475 | |||
3476 | #ifdef CONFIG_INTR_REMAP | ||
3477 | if (!intr_remapping_enabled) | ||
3478 | goto no_ir; | ||
3479 | |||
3480 | ret = msi_alloc_irte(dev, irq, 1); | ||
3481 | if (ret < 0) | ||
3482 | goto error; | ||
3483 | no_ir: | ||
3484 | #endif | ||
3485 | ret = setup_msi_irq(dev, msidesc, irq); | ||
3486 | if (ret < 0) { | ||
3487 | destroy_irq(irq); | ||
3488 | return ret; | ||
3489 | } | ||
3490 | return 0; | ||
3491 | |||
3492 | #ifdef CONFIG_INTR_REMAP | ||
3493 | error: | ||
3494 | destroy_irq(irq); | ||
3495 | return ret; | ||
3496 | #endif | ||
3497 | } | ||
3498 | |||
3499 | int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | 3465 | int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) |
3500 | { | 3466 | { |
3501 | unsigned int irq; | 3467 | unsigned int irq; |