On 11/10/17 23:34, Jim Quinlan wrote: > The BrcmSTB driver needs to get ahold of a pointer to swiotlb_dma_ops. > However, that variable is defined as static. Instead, we use > arch_setup_dma_ops() to get the pointer to swiotlb_dma_ops. Since > we also want our driver to be a separate module, we need to > export this function. NAK. Retrieve the platform-assigned ops from the device via get_dma_ops() and stash them in your drvdata or wherever before you replace them. Don't go poking around arch code internals directly from a driver. Robin. > Signed-off-by: Jim Quinlan <jim2101024@xxxxxxxxx> > --- > arch/arm64/mm/dma-mapping.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c > index 614af88..dae572f 100644 > --- a/arch/arm64/mm/dma-mapping.c > +++ b/arch/arm64/mm/dma-mapping.c > @@ -936,3 +936,4 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, > } > #endif > } > +EXPORT_SYMBOL(arch_setup_dma_ops); >