diff options
Diffstat (limited to 'arch/x86/include/asm/pci.h')
-rw-r--r-- | arch/x86/include/asm/pci.h | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h index d395540ff894..ca0437c714b2 100644 --- a/arch/x86/include/asm/pci.h +++ b/arch/x86/include/asm/pci.h | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <linux/string.h> | 7 | #include <linux/string.h> |
8 | #include <asm/scatterlist.h> | 8 | #include <asm/scatterlist.h> |
9 | #include <asm/io.h> | 9 | #include <asm/io.h> |
10 | #include <asm/x86_init.h> | ||
10 | 11 | ||
11 | #ifdef __KERNEL__ | 12 | #ifdef __KERNEL__ |
12 | 13 | ||
@@ -94,8 +95,36 @@ static inline void early_quirks(void) { } | |||
94 | 95 | ||
95 | extern void pci_iommu_alloc(void); | 96 | extern void pci_iommu_alloc(void); |
96 | 97 | ||
97 | /* MSI arch hook */ | 98 | #ifdef CONFIG_PCI_MSI |
98 | #define arch_setup_msi_irqs arch_setup_msi_irqs | 99 | /* MSI arch specific hooks */ |
100 | static inline int x86_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | ||
101 | { | ||
102 | return x86_msi.setup_msi_irqs(dev, nvec, type); | ||
103 | } | ||
104 | |||
105 | static inline void x86_teardown_msi_irqs(struct pci_dev *dev) | ||
106 | { | ||
107 | x86_msi.teardown_msi_irqs(dev); | ||
108 | } | ||
109 | |||
110 | static inline void x86_teardown_msi_irq(unsigned int irq) | ||
111 | { | ||
112 | x86_msi.teardown_msi_irq(irq); | ||
113 | } | ||
114 | #define arch_setup_msi_irqs x86_setup_msi_irqs | ||
115 | #define arch_teardown_msi_irqs x86_teardown_msi_irqs | ||
116 | #define arch_teardown_msi_irq x86_teardown_msi_irq | ||
117 | /* implemented in arch/x86/kernel/apic/io_apic. */ | ||
118 | int native_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); | ||
119 | void native_teardown_msi_irq(unsigned int irq); | ||
120 | /* default to the implementation in drivers/lib/msi.c */ | ||
121 | #define HAVE_DEFAULT_MSI_TEARDOWN_IRQS | ||
122 | void default_teardown_msi_irqs(struct pci_dev *dev); | ||
123 | #else | ||
124 | #define native_setup_msi_irqs NULL | ||
125 | #define native_teardown_msi_irq NULL | ||
126 | #define default_teardown_msi_irqs NULL | ||
127 | #endif | ||
99 | 128 | ||
100 | #define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys) | 129 | #define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys) |
101 | 130 | ||