Commit d28a0d94 authored by Daniel Axtens's avatar Daniel Axtens Committed by Michael Ellerman

powerpc/pasemi: Move controller ops from ppc_md to controller_ops

This moves the PaSemi platform to use the pci_controller_ops
structure rather than ppc_md for PCI controller operations.
Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 65ebf4b6
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include <asm/machdep.h> #include <asm/machdep.h>
#include <asm/firmware.h> #include <asm/firmware.h>
#include "pasemi.h"
#define IOBMAP_PAGE_SHIFT 12 #define IOBMAP_PAGE_SHIFT 12
#define IOBMAP_PAGE_SIZE (1 << IOBMAP_PAGE_SHIFT) #define IOBMAP_PAGE_SIZE (1 << IOBMAP_PAGE_SHIFT)
#define IOBMAP_PAGE_MASK (IOBMAP_PAGE_SIZE - 1) #define IOBMAP_PAGE_MASK (IOBMAP_PAGE_SIZE - 1)
...@@ -248,8 +250,8 @@ void __init iommu_init_early_pasemi(void) ...@@ -248,8 +250,8 @@ void __init iommu_init_early_pasemi(void)
iob_init(NULL); iob_init(NULL);
ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_pasemi; pasemi_pci_controller_ops.dma_dev_setup = pci_dma_dev_setup_pasemi;
ppc_md.pci_dma_bus_setup = pci_dma_bus_setup_pasemi; pasemi_pci_controller_ops.dma_bus_setup = pci_dma_bus_setup_pasemi;
ppc_md.tce_build = iobmap_build; ppc_md.tce_build = iobmap_build;
ppc_md.tce_free = iobmap_free; ppc_md.tce_free = iobmap_free;
set_pci_dma_ops(&dma_iommu_ops); set_pci_dma_ops(&dma_iommu_ops);
......
...@@ -30,5 +30,6 @@ static inline void restore_astate(int cpu) ...@@ -30,5 +30,6 @@ static inline void restore_astate(int cpu)
} }
#endif #endif
extern struct pci_controller_ops pasemi_pci_controller_ops;
#endif /* _PASEMI_PASEMI_H */ #endif /* _PASEMI_PASEMI_H */
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
#include <asm/ppc-pci.h> #include <asm/ppc-pci.h>
#include "pasemi.h"
#define PA_PXP_CFA(bus, devfn, off) (((bus) << 20) | ((devfn) << 12) | (off)) #define PA_PXP_CFA(bus, devfn, off) (((bus) << 20) | ((devfn) << 12) | (off))
static inline int pa_pxp_offset_valid(u8 bus, u8 devfn, int offset) static inline int pa_pxp_offset_valid(u8 bus, u8 devfn, int offset)
...@@ -199,6 +201,7 @@ static int __init pas_add_bridge(struct device_node *dev) ...@@ -199,6 +201,7 @@ static int __init pas_add_bridge(struct device_node *dev)
hose->first_busno = 0; hose->first_busno = 0;
hose->last_busno = 0xff; hose->last_busno = 0xff;
hose->controller_ops = pasemi_pci_controller_ops;
setup_pa_pxp(hose); setup_pa_pxp(hose);
...@@ -239,3 +242,5 @@ void __iomem *pasemi_pci_getcfgaddr(struct pci_dev *dev, int offset) ...@@ -239,3 +242,5 @@ void __iomem *pasemi_pci_getcfgaddr(struct pci_dev *dev, int offset)
return (void __iomem *)pa_pxp_cfg_addr(hose, dev->bus->number, dev->devfn, offset); return (void __iomem *)pa_pxp_cfg_addr(hose, dev->bus->number, dev->devfn, offset);
} }
struct pci_controller_ops pasemi_pci_controller_ops;
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