Commit cb5867a5 authored by Glauber Costa's avatar Glauber Costa Committed by Ingo Molnar

x86: move initialization functions to pci-dma.c

initcalls that triggers the various possibiities for
dma subsys are moved to pci-dma.c.
Signed-off-by: default avatarGlauber Costa <gcosta@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent f9c258de
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/dmar.h>
#include <asm/gart.h>
#include <asm/calgary.h>
const struct dma_mapping_ops *dma_ops; const struct dma_mapping_ops *dma_ops;
EXPORT_SYMBOL(dma_ops); EXPORT_SYMBOL(dma_ops);
...@@ -22,4 +26,25 @@ int dma_set_mask(struct device *dev, u64 mask) ...@@ -22,4 +26,25 @@ int dma_set_mask(struct device *dev, u64 mask)
} }
EXPORT_SYMBOL(dma_set_mask); EXPORT_SYMBOL(dma_set_mask);
static int __init pci_iommu_init(void)
{
#ifdef CONFIG_CALGARY_IOMMU
calgary_iommu_init();
#endif
intel_iommu_init();
#ifdef CONFIG_GART_IOMMU
gart_iommu_init();
#endif
no_iommu_init();
return 0;
}
void pci_iommu_shutdown(void)
{
gart_iommu_shutdown();
}
/* Must execute after PCI subsystem */
fs_initcall(pci_iommu_init);
...@@ -339,27 +339,6 @@ void __init pci_iommu_alloc(void) ...@@ -339,27 +339,6 @@ void __init pci_iommu_alloc(void)
#endif #endif
} }
static int __init pci_iommu_init(void)
{
#ifdef CONFIG_CALGARY_IOMMU
calgary_iommu_init();
#endif
intel_iommu_init();
#ifdef CONFIG_GART_IOMMU
gart_iommu_init();
#endif
no_iommu_init();
return 0;
}
void pci_iommu_shutdown(void)
{
gart_iommu_shutdown();
}
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
/* Many VIA bridges seem to corrupt data for DAC. Disable it here */ /* Many VIA bridges seem to corrupt data for DAC. Disable it here */
...@@ -372,5 +351,3 @@ static __devinit void via_no_dac(struct pci_dev *dev) ...@@ -372,5 +351,3 @@ static __devinit void via_no_dac(struct pci_dev *dev)
} }
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac);
#endif #endif
/* Must execute after PCI subsystem */
fs_initcall(pci_iommu_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment