Commit a9803497 authored by Anton Blanchard's avatar Anton Blanchard Committed by Benjamin Herrenschmidt

powerpc: Call dma_debug_add_bus for PCI and VIO buses

The DMA API debug code has hooks to verify all DMA entries have been
freed at time of hot unplug. We need to call dma_debug_add_bus for
this to work.
Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 44b372d8
...@@ -44,6 +44,8 @@ ...@@ -44,6 +44,8 @@
*/ */
#define VIO_CMO_MIN_ENT 1562624 #define VIO_CMO_MIN_ENT 1562624
extern struct bus_type vio_bus_type;
struct iommu_table; struct iommu_table;
/* /*
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#include <linux/gfp.h> #include <linux/gfp.h>
#include <linux/memblock.h> #include <linux/memblock.h>
#include <linux/export.h> #include <linux/export.h>
#include <linux/pci.h>
#include <asm/vio.h>
#include <asm/bug.h> #include <asm/bug.h>
#include <asm/abs_addr.h> #include <asm/abs_addr.h>
#include <asm/machdep.h> #include <asm/machdep.h>
...@@ -206,6 +208,12 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask); ...@@ -206,6 +208,12 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask);
static int __init dma_init(void) static int __init dma_init(void)
{ {
dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES); dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES);
#ifdef CONFIG_PCI
dma_debug_add_bus(&pci_bus_type);
#endif
#ifdef CONFIG_IBMVIO
dma_debug_add_bus(&vio_bus_type);
#endif
return 0; return 0;
} }
......
...@@ -37,8 +37,6 @@ ...@@ -37,8 +37,6 @@
#include <asm/page.h> #include <asm/page.h>
#include <asm/hvcall.h> #include <asm/hvcall.h>
static struct bus_type vio_bus_type;
static struct vio_dev vio_bus_device = { /* fake "parent" device */ static struct vio_dev vio_bus_device = { /* fake "parent" device */
.name = "vio", .name = "vio",
.type = "", .type = "",
...@@ -1580,7 +1578,7 @@ static int vio_hotplug(struct device *dev, struct kobj_uevent_env *env) ...@@ -1580,7 +1578,7 @@ static int vio_hotplug(struct device *dev, struct kobj_uevent_env *env)
return 0; return 0;
} }
static struct bus_type vio_bus_type = { struct bus_type vio_bus_type = {
.name = "vio", .name = "vio",
.dev_attrs = vio_dev_attrs, .dev_attrs = vio_dev_attrs,
.uevent = vio_hotplug, .uevent = vio_hotplug,
......
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