diff options
Diffstat (limited to 'drivers/pci/msi.c')
-rw-r--r-- | drivers/pci/msi.c | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 11a51f8ed3b3..b4a90badd0a6 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
@@ -776,28 +776,19 @@ void pci_no_msi(void) | |||
776 | pci_msi_enable = 0; | 776 | pci_msi_enable = 0; |
777 | } | 777 | } |
778 | 778 | ||
779 | void pci_msi_init_pci_dev(struct pci_dev *dev) | 779 | /** |
780 | { | 780 | * pci_msi_enabled - is MSI enabled? |
781 | INIT_LIST_HEAD(&dev->msi_list); | 781 | * |
782 | } | 782 | * Returns true if MSI has not been disabled by the command-line option |
783 | 783 | * pci=nomsi. | |
784 | #ifdef CONFIG_ACPI | 784 | **/ |
785 | #include <linux/acpi.h> | 785 | int pci_msi_enabled(void) |
786 | #include <linux/pci-acpi.h> | ||
787 | static void __devinit msi_acpi_init(void) | ||
788 | { | 786 | { |
789 | if (acpi_pci_disabled) | 787 | return pci_msi_enable; |
790 | return; | ||
791 | pci_osc_support_set(OSC_MSI_SUPPORT); | ||
792 | pcie_osc_support_set(OSC_MSI_SUPPORT); | ||
793 | } | 788 | } |
794 | #else | 789 | EXPORT_SYMBOL(pci_msi_enabled); |
795 | static inline void msi_acpi_init(void) { } | ||
796 | #endif /* CONFIG_ACPI */ | ||
797 | 790 | ||
798 | void __devinit msi_init(void) | 791 | void pci_msi_init_pci_dev(struct pci_dev *dev) |
799 | { | 792 | { |
800 | if (!pci_msi_enable) | 793 | INIT_LIST_HEAD(&dev->msi_list); |
801 | return; | ||
802 | msi_acpi_init(); | ||
803 | } | 794 | } |