Browse Source

PCI: Call dma_debug_add_bus() for pci_bus_type from PCI core

There is nothing arch-specific about PCI or dma-debug, so call
dma_debug_add_bus() from the PCI core just after registering the bus type.

Most of dma-debug is already generic; this just adds reporting of pending
dma-allocations on driver unload for arches other than powerpc, sh, and
x86.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
Christoph Hellwig 7 years ago
parent
commit
a8651194f9
4 changed files with 1 additions and 9 deletions
  1. 0 3
      arch/powerpc/kernel/dma.c
  2. 0 2
      arch/sh/drivers/pci/pci.c
  3. 0 3
      arch/x86/kernel/pci-dma.c
  4. 1 1
      drivers/pci/pci-driver.c

+ 0 - 3
arch/powerpc/kernel/dma.c

@@ -357,9 +357,6 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask);
 
 
 static int __init dma_init(void)
 static int __init dma_init(void)
 {
 {
-#ifdef CONFIG_PCI
-	dma_debug_add_bus(&pci_bus_type);
-#endif
 #ifdef CONFIG_IBMVIO
 #ifdef CONFIG_IBMVIO
 	dma_debug_add_bus(&vio_bus_type);
 	dma_debug_add_bus(&vio_bus_type);
 #endif
 #endif

+ 0 - 2
arch/sh/drivers/pci/pci.c

@@ -160,8 +160,6 @@ static int __init pcibios_init(void)
 	for (hose = hose_head; hose; hose = hose->next)
 	for (hose = hose_head; hose; hose = hose->next)
 		pcibios_scanbus(hose);
 		pcibios_scanbus(hose);
 
 
-	dma_debug_add_bus(&pci_bus_type);
-
 	pci_initialized = 1;
 	pci_initialized = 1;
 
 
 	return 0;
 	return 0;

+ 0 - 3
arch/x86/kernel/pci-dma.c

@@ -155,9 +155,6 @@ static int __init pci_iommu_init(void)
 {
 {
 	struct iommu_table_entry *p;
 	struct iommu_table_entry *p;
 
 
-#ifdef CONFIG_PCI
-	dma_debug_add_bus(&pci_bus_type);
-#endif
 	x86_init.iommu.iommu_init();
 	x86_init.iommu.iommu_init();
 
 
 	for (p = __iommu_table; p < __iommu_table_end; p++) {
 	for (p = __iommu_table; p < __iommu_table_end; p++) {

+ 1 - 1
drivers/pci/pci-driver.c

@@ -1667,7 +1667,7 @@ static int __init pci_driver_init(void)
 	if (ret)
 	if (ret)
 		return ret;
 		return ret;
 #endif
 #endif
-
+	dma_debug_add_bus(&pci_bus_type);
 	return 0;
 	return 0;
 }
 }
 postcore_initcall(pci_driver_init);
 postcore_initcall(pci_driver_init);