xen/arm: remove xen_dma_ops
authorChristoph Hellwig <hch@lst.de>
Wed, 24 Jul 2019 12:09:39 +0000 (14:09 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 11 Sep 2019 10:43:26 +0000 (12:43 +0200)
arm and arm64 can just use xen_swiotlb_dma_ops directly like x86, no
need for a pointer indirection.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
arch/arm/mm/dma-mapping.c
arch/arm/xen/mm.c
arch/arm64/mm/dma-mapping.c
include/xen/arm/hypervisor.h

index 143d7c79b4cb679e80d703dc2c1344330c61fcc0..7d042d5c43e32f117e3825e39d4c06ecd00b24a3 100644 (file)
@@ -36,6 +36,7 @@
 #include <asm/mach/map.h>
 #include <asm/system_info.h>
 #include <asm/dma-contiguous.h>
+#include <xen/swiotlb-xen.h>
 
 #include "dma.h"
 #include "mm.h"
@@ -2315,7 +2316,7 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
 
 #ifdef CONFIG_XEN
        if (xen_initial_domain())
-               dev->dma_ops = xen_dma_ops;
+               dev->dma_ops = &xen_swiotlb_dma_ops;
 #endif
        dev->archdata.dma_ops_setup = true;
 }
index 2fde161733b01d218b2be81aa8b4ad89a36ec1a0..11d5ad26fcfe75e060119cd2e6d55f69ca6e0bf0 100644 (file)
@@ -162,16 +162,12 @@ void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order)
 }
 EXPORT_SYMBOL_GPL(xen_destroy_contiguous_region);
 
-const struct dma_map_ops *xen_dma_ops;
-EXPORT_SYMBOL(xen_dma_ops);
-
 int __init xen_mm_init(void)
 {
        struct gnttab_cache_flush cflush;
        if (!xen_initial_domain())
                return 0;
        xen_swiotlb_init(1, false);
-       xen_dma_ops = &xen_swiotlb_dma_ops;
 
        cflush.op = 0;
        cflush.a.dev_bus_addr = 0;
index a1d05f669f67343a5e2e44cfcf43d922d1db8a4b..c44eb72d500f22f5f11bae28f30cf4042381f22c 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/cache.h>
 #include <linux/dma-noncoherent.h>
 #include <linux/dma-iommu.h>
+#include <xen/swiotlb-xen.h>
 
 #include <asm/cacheflush.h>
 
@@ -52,6 +53,6 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
 
 #ifdef CONFIG_XEN
        if (xen_initial_domain())
-               dev->dma_ops = xen_dma_ops;
+               dev->dma_ops = &xen_swiotlb_dma_ops;
 #endif
 }
index 2982571f7cc1ba568111ab9e04d99d9104fa7fc4..43ef24dd030e10237a97373e635632ae5a8e4a9c 100644 (file)
@@ -19,8 +19,6 @@ static inline enum paravirt_lazy_mode paravirt_get_lazy_mode(void)
        return PARAVIRT_LAZY_NONE;
 }
 
-extern const struct dma_map_ops *xen_dma_ops;
-
 #ifdef CONFIG_XEN
 void __init xen_early_init(void);
 #else