Re: [PATCH 4/9] arm64: dma-mapping: export symbol arch_setup_dma_ops

From: Jim Quinlan
Date: Thu Oct 12 2017 - 14:15:37 EST


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);
>>
>