summaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/of_device_common.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2020-03-23 09:43:42 +0100
committerDavid S. Miller <davem@davemloft.net>2020-04-02 18:11:55 -0700
commit255a69a94b8cbbcfef142137b5e7f99b5d168771 (patch)
treeba40d43db66dcc086bb1b7ad634589b01f8a0569 /arch/sparc/kernel/of_device_common.c
parentbef7b2a7be28638770972ab2709adf11d601c11a (diff)
downloadlinux-255a69a94b8cbbcfef142137b5e7f99b5d168771.tar.gz
linux-255a69a94b8cbbcfef142137b5e7f99b5d168771.tar.bz2
linux-255a69a94b8cbbcfef142137b5e7f99b5d168771.zip
sparc32: use per-device dma_ops
sparc32 is the last platform making dynamic decisions in get_arch_dma_ops based on the bus passed in. Instead set the iommu dma_ops at iommu probing and propagate them in of_propagate_archdata, falling back to the NULL ops for the direct mapping in the Leon or PCI case. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/of_device_common.c')
-rw-r--r--arch/sparc/kernel/of_device_common.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sparc/kernel/of_device_common.c b/arch/sparc/kernel/of_device_common.c
index b32cc5610712..e717a56efc5d 100644
--- a/arch/sparc/kernel/of_device_common.c
+++ b/arch/sparc/kernel/of_device_common.c
@@ -67,6 +67,7 @@ void of_propagate_archdata(struct platform_device *bus)
op->dev.archdata.stc = bus_sd->stc;
op->dev.archdata.host_controller = bus_sd->host_controller;
op->dev.archdata.numa_node = bus_sd->numa_node;
+ op->dev.dma_ops = bus->dev.dma_ops;
if (dp->child)
of_propagate_archdata(op);