Skip to content

Commit

Permalink
powerpc: Call dma_debug_add_bus for PCI and VIO buses
Browse files Browse the repository at this point in the history
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: Anton Blanchard <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
  • Loading branch information
antonblanchard authored and ozbenh committed Jul 10, 2012
1 parent 44b372d commit a980349
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
2 changes: 2 additions & 0 deletions arch/powerpc/include/asm/vio.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
*/
#define VIO_CMO_MIN_ENT 1562624

extern struct bus_type vio_bus_type;

struct iommu_table;

/*
Expand Down
10 changes: 9 additions & 1 deletion arch/powerpc/kernel/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
#include <linux/gfp.h>
#include <linux/memblock.h>
#include <linux/export.h>
#include <linux/pci.h>
#include <asm/vio.h>
#include <asm/bug.h>
#include <asm/abs_addr.h>
#include <asm/machdep.h>
Expand Down Expand Up @@ -205,7 +207,13 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask);

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;
}
Expand Down
4 changes: 1 addition & 3 deletions arch/powerpc/kernel/vio.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@
#include <asm/page.h>
#include <asm/hvcall.h>

static struct bus_type vio_bus_type;

static struct vio_dev vio_bus_device = { /* fake "parent" device */
.name = "vio",
.type = "",
Expand Down Expand Up @@ -1580,7 +1578,7 @@ static int vio_hotplug(struct device *dev, struct kobj_uevent_env *env)
return 0;
}

static struct bus_type vio_bus_type = {
struct bus_type vio_bus_type = {
.name = "vio",
.dev_attrs = vio_dev_attrs,
.uevent = vio_hotplug,
Expand Down

0 comments on commit a980349

Please sign in to comment.