On Thu, Oct 12, 2017 at 1:06 PM, Robin Murphy <robin.murphy@xxxxxxx> wrote: > 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. Will fix (and drop the commit). > > 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); >> >