treewide: Constify most dma_map_ops structures
authorBart Van Assche <bart.vanassche@sandisk.com>
Fri, 20 Jan 2017 21:04:01 +0000 (13:04 -0800)
committerDoug Ledford <dledford@redhat.com>
Tue, 24 Jan 2017 17:23:35 +0000 (12:23 -0500)
Most dma_map_ops structures are never modified. Constify these
structures such that these can be write-protected. This patch
has been generated as follows:

git grep -l 'struct dma_map_ops' |
  xargs -d\\n sed -i \
    -e 's/struct dma_map_ops/const struct dma_map_ops/g' \
    -e 's/const struct dma_map_ops {/struct dma_map_ops {/g' \
    -e 's/^const struct dma_map_ops;$/struct dma_map_ops;/' \
    -e 's/const const struct dma_map_ops /const struct dma_map_ops /g';
sed -i -e 's/const \(struct dma_map_ops intel_dma_ops\)/\1/' \
  $(git grep -l 'struct dma_map_ops intel_dma_ops');
sed -i -e 's/const \(struct dma_map_ops dma_iommu_ops\)/\1/' \
  $(git grep -l 'struct dma_map_ops' | grep ^arch/powerpc);
sed -i -e '/^struct vmd_dev {$/,/^};$/ s/const \(struct dma_map_ops[[:blank:]]dma_ops;\)/\1/' \
       -e '/^static void vmd_setup_dma_ops/,/^}$/ s/const \(struct dma_map_ops \*dest\)/\1/' \
       -e 's/const \(struct dma_map_ops \*dest = \&vmd->dma_ops\)/\1/' \
    drivers/pci/host/*.c
sed -i -e '/^void __init pci_iommu_alloc(void)$/,/^}$/ s/dma_ops->/intel_dma_ops./' arch/ia64/kernel/pci-dma.c
sed -i -e 's/static const struct dma_map_ops sn_dma_ops/static struct dma_map_ops sn_dma_ops/' arch/ia64/sn/pci/pci_dma.c
sed -i -e 's/(const struct dma_map_ops \*)//' drivers/misc/mic/bus/vop_bus.c

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Juergen Gross <jgross@suse.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: linux-arch@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Russell King <linux@armlinux.org.uk>
Cc: x86@kernel.org
Signed-off-by: Doug Ledford <dledford@redhat.com>
113 files changed:
arch/alpha/include/asm/dma-mapping.h
arch/alpha/kernel/pci-noop.c
arch/alpha/kernel/pci_iommu.c
arch/arc/include/asm/dma-mapping.h
arch/arc/mm/dma.c
arch/arm/common/dmabounce.c
arch/arm/include/asm/device.h
arch/arm/include/asm/dma-mapping.h
arch/arm/mm/dma-mapping.c
arch/arm/xen/mm.c
arch/arm64/include/asm/device.h
arch/arm64/include/asm/dma-mapping.h
arch/arm64/mm/dma-mapping.c
arch/avr32/include/asm/dma-mapping.h
arch/avr32/mm/dma-coherent.c
arch/blackfin/include/asm/dma-mapping.h
arch/blackfin/kernel/dma-mapping.c
arch/c6x/include/asm/dma-mapping.h
arch/c6x/kernel/dma.c
arch/cris/arch-v32/drivers/pci/dma.c
arch/cris/include/asm/dma-mapping.h
arch/frv/include/asm/dma-mapping.h
arch/frv/mb93090-mb00/pci-dma-nommu.c
arch/frv/mb93090-mb00/pci-dma.c
arch/h8300/include/asm/dma-mapping.h
arch/h8300/kernel/dma.c
arch/hexagon/include/asm/dma-mapping.h
arch/hexagon/kernel/dma.c
arch/ia64/hp/common/hwsw_iommu.c
arch/ia64/hp/common/sba_iommu.c
arch/ia64/include/asm/dma-mapping.h
arch/ia64/include/asm/machvec.h
arch/ia64/kernel/dma-mapping.c
arch/ia64/kernel/pci-dma.c
arch/ia64/kernel/pci-swiotlb.c
arch/m32r/include/asm/device.h
arch/m32r/include/asm/dma-mapping.h
arch/m68k/include/asm/dma-mapping.h
arch/m68k/kernel/dma.c
arch/metag/include/asm/dma-mapping.h
arch/metag/kernel/dma.c
arch/microblaze/include/asm/dma-mapping.h
arch/microblaze/kernel/dma.c
arch/mips/cavium-octeon/dma-octeon.c
arch/mips/include/asm/device.h
arch/mips/include/asm/dma-mapping.h
arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h
arch/mips/include/asm/netlogic/common.h
arch/mips/loongson64/common/dma-swiotlb.c
arch/mips/mm/dma-default.c
arch/mips/netlogic/common/nlm-dma.c
arch/mn10300/include/asm/dma-mapping.h
arch/mn10300/mm/dma-alloc.c
arch/nios2/include/asm/dma-mapping.h
arch/nios2/mm/dma-mapping.c
arch/openrisc/include/asm/dma-mapping.h
arch/openrisc/kernel/dma.c
arch/parisc/include/asm/dma-mapping.h
arch/parisc/kernel/drivers.c
arch/parisc/kernel/pci-dma.c
arch/powerpc/include/asm/device.h
arch/powerpc/include/asm/dma-mapping.h
arch/powerpc/include/asm/pci.h
arch/powerpc/include/asm/swiotlb.h
arch/powerpc/kernel/dma-swiotlb.c
arch/powerpc/kernel/dma.c
arch/powerpc/kernel/pci-common.c
arch/powerpc/platforms/cell/iommu.c
arch/powerpc/platforms/powernv/npu-dma.c
arch/powerpc/platforms/ps3/system-bus.c
arch/powerpc/platforms/pseries/ibmebus.c
arch/powerpc/platforms/pseries/vio.c
arch/s390/include/asm/device.h
arch/s390/include/asm/dma-mapping.h
arch/s390/pci/pci_dma.c
arch/sh/include/asm/dma-mapping.h
arch/sh/kernel/dma-nommu.c
arch/sh/mm/consistent.c
arch/sparc/include/asm/dma-mapping.h
arch/sparc/kernel/iommu.c
arch/sparc/kernel/ioport.c
arch/sparc/kernel/pci_sun4v.c
arch/tile/include/asm/device.h
arch/tile/include/asm/dma-mapping.h
arch/tile/kernel/pci-dma.c
arch/unicore32/include/asm/dma-mapping.h
arch/unicore32/mm/dma-swiotlb.c
arch/x86/include/asm/device.h
arch/x86/include/asm/dma-mapping.h
arch/x86/include/asm/iommu.h
arch/x86/kernel/amd_gart_64.c
arch/x86/kernel/pci-calgary_64.c
arch/x86/kernel/pci-dma.c
arch/x86/kernel/pci-nommu.c
arch/x86/kernel/pci-swiotlb.c
arch/x86/pci/sta2x11-fixup.c
arch/x86/xen/pci-swiotlb-xen.c
arch/xtensa/include/asm/device.h
arch/xtensa/include/asm/dma-mapping.h
arch/xtensa/kernel/pci-dma.c
drivers/iommu/amd_iommu.c
drivers/misc/mic/bus/mic_bus.c
drivers/misc/mic/bus/scif_bus.c
drivers/misc/mic/bus/scif_bus.h
drivers/misc/mic/bus/vop_bus.c
drivers/misc/mic/host/mic_boot.c
drivers/parisc/ccio-dma.c
drivers/parisc/sba_iommu.c
drivers/pci/host/vmd.c
include/linux/dma-mapping.h
include/linux/mic_bus.h
include/xen/arm/hypervisor.h
lib/dma-noop.c

index c63b6ac19ee5c8141e4499dff8bf2f5c3f858bb5..d3480562411df5451d64e41b5fa05a96851a1ee8 100644 (file)
@@ -1,9 +1,9 @@
 #ifndef _ALPHA_DMA_MAPPING_H
 #define _ALPHA_DMA_MAPPING_H
 
-extern struct dma_map_ops *dma_ops;
+extern const struct dma_map_ops *dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return dma_ops;
 }
index bb152e21e5ae89960be20e51d37f7de4695b50cf..ffbdb3fb672f6b6d6e4f23a5d47fc519fb07203e 100644 (file)
@@ -128,7 +128,7 @@ static int alpha_noop_supported(struct device *dev, u64 mask)
        return mask < 0x00ffffffUL ? 0 : 1;
 }
 
-struct dma_map_ops alpha_noop_ops = {
+const struct dma_map_ops alpha_noop_ops = {
        .alloc                  = alpha_noop_alloc_coherent,
        .free                   = dma_noop_free_coherent,
        .map_page               = dma_noop_map_page,
@@ -137,5 +137,5 @@ struct dma_map_ops alpha_noop_ops = {
        .dma_supported          = alpha_noop_supported,
 };
 
-struct dma_map_ops *dma_ops = &alpha_noop_ops;
+const struct dma_map_ops *dma_ops = &alpha_noop_ops;
 EXPORT_SYMBOL(dma_ops);
index 451fc9cdd323a7bccc2c0f4f687b45192a288a9c..7fd2329038a3ef1664de33f4f9759ea15c56e7c7 100644 (file)
@@ -939,7 +939,7 @@ static int alpha_pci_mapping_error(struct device *dev, dma_addr_t dma_addr)
        return dma_addr == 0;
 }
 
-struct dma_map_ops alpha_pci_ops = {
+const struct dma_map_ops alpha_pci_ops = {
        .alloc                  = alpha_pci_alloc_coherent,
        .free                   = alpha_pci_free_coherent,
        .map_page               = alpha_pci_map_page,
@@ -950,5 +950,5 @@ struct dma_map_ops alpha_pci_ops = {
        .dma_supported          = alpha_pci_supported,
 };
 
-struct dma_map_ops *dma_ops = &alpha_pci_ops;
+const struct dma_map_ops *dma_ops = &alpha_pci_ops;
 EXPORT_SYMBOL(dma_ops);
index 266f11c9bd593e58775d12a5dac214817da3110e..fdff3aa60052b22b60c488ce90fad52773c43f71 100644 (file)
@@ -18,9 +18,9 @@
 #include <plat/dma.h>
 #endif
 
-extern struct dma_map_ops arc_dma_ops;
+extern const struct dma_map_ops arc_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &arc_dma_ops;
 }
index 08450a1a5b5fd06f0cc0ef74b2a7de317473f6c8..2a07e6ecafbd768bcdca7c09fa4cc29bc1a6ff65 100644 (file)
@@ -218,7 +218,7 @@ static int arc_dma_supported(struct device *dev, u64 dma_mask)
        return dma_mask == DMA_BIT_MASK(32);
 }
 
-struct dma_map_ops arc_dma_ops = {
+const struct dma_map_ops arc_dma_ops = {
        .alloc                  = arc_dma_alloc,
        .free                   = arc_dma_free,
        .mmap                   = arc_dma_mmap,
index 75055df1cda30f39c42863d9bdd4fdcc391ff8f1..9b1b7be2ec0e494c650f4e2f2b80588066347414 100644 (file)
@@ -452,7 +452,7 @@ static int dmabounce_set_mask(struct device *dev, u64 dma_mask)
        return arm_dma_ops.set_dma_mask(dev, dma_mask);
 }
 
-static struct dma_map_ops dmabounce_ops = {
+static const struct dma_map_ops dmabounce_ops = {
        .alloc                  = arm_dma_alloc,
        .free                   = arm_dma_free,
        .mmap                   = arm_dma_mmap,
index 4111592f01301adfaf1b96e50397a152cfe7b625..d8a572f9c18712aec40860f7fbcf238e56199ba6 100644 (file)
@@ -7,7 +7,7 @@
 #define ASMARM_DEVICE_H
 
 struct dev_archdata {
-       struct dma_map_ops      *dma_ops;
+       const struct dma_map_ops        *dma_ops;
 #ifdef CONFIG_DMABOUNCE
        struct dmabounce_device_info *dmabounce;
 #endif
index bf02dbd9ccda3bd9addfbac5566df2a7b97c7ef8..1aabd781306f54a474832e4633918f9de445d8f8 100644 (file)
 #include <asm/xen/hypervisor.h>
 
 #define DMA_ERROR_CODE (~(dma_addr_t)0x0)
-extern struct dma_map_ops arm_dma_ops;
-extern struct dma_map_ops arm_coherent_dma_ops;
+extern const struct dma_map_ops arm_dma_ops;
+extern const struct dma_map_ops arm_coherent_dma_ops;
 
-static inline struct dma_map_ops *__generic_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *__generic_dma_ops(struct device *dev)
 {
        if (dev && dev->archdata.dma_ops)
                return dev->archdata.dma_ops;
        return &arm_dma_ops;
 }
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        if (xen_initial_domain())
                return xen_dma_ops;
@@ -31,7 +31,7 @@ static inline struct dma_map_ops *get_dma_ops(struct device *dev)
                return __generic_dma_ops(dev);
 }
 
-static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops)
+static inline void set_dma_ops(struct device *dev, const struct dma_map_ops *ops)
 {
        BUG_ON(!dev);
        dev->archdata.dma_ops = ops;
index ab7710002ba60e99287beb41e689e3ae4d148d6e..d26fe1a3568767136f16d61575154bc1d0084616 100644 (file)
@@ -180,7 +180,7 @@ static void arm_dma_sync_single_for_device(struct device *dev,
        __dma_page_cpu_to_dev(page, offset, size, dir);
 }
 
-struct dma_map_ops arm_dma_ops = {
+const struct dma_map_ops arm_dma_ops = {
        .alloc                  = arm_dma_alloc,
        .free                   = arm_dma_free,
        .mmap                   = arm_dma_mmap,
@@ -204,7 +204,7 @@ static int arm_coherent_dma_mmap(struct device *dev, struct vm_area_struct *vma,
                 void *cpu_addr, dma_addr_t dma_addr, size_t size,
                 unsigned long attrs);
 
-struct dma_map_ops arm_coherent_dma_ops = {
+const struct dma_map_ops arm_coherent_dma_ops = {
        .alloc                  = arm_coherent_dma_alloc,
        .free                   = arm_coherent_dma_free,
        .mmap                   = arm_coherent_dma_mmap,
@@ -1067,7 +1067,7 @@ static void __dma_page_dev_to_cpu(struct page *page, unsigned long off,
 int arm_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
                enum dma_data_direction dir, unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        struct scatterlist *s;
        int i, j;
 
@@ -1101,7 +1101,7 @@ int arm_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
 void arm_dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
                enum dma_data_direction dir, unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        struct scatterlist *s;
 
        int i;
@@ -1120,7 +1120,7 @@ void arm_dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
 void arm_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
                        int nents, enum dma_data_direction dir)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        struct scatterlist *s;
        int i;
 
@@ -1139,7 +1139,7 @@ void arm_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
 void arm_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
                        int nents, enum dma_data_direction dir)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        struct scatterlist *s;
        int i;
 
@@ -2099,7 +2099,7 @@ static void arm_iommu_sync_single_for_device(struct device *dev,
        __dma_page_cpu_to_dev(page, offset, size, dir);
 }
 
-struct dma_map_ops iommu_ops = {
+const struct dma_map_ops iommu_ops = {
        .alloc          = arm_iommu_alloc_attrs,
        .free           = arm_iommu_free_attrs,
        .mmap           = arm_iommu_mmap_attrs,
@@ -2119,7 +2119,7 @@ struct dma_map_ops iommu_ops = {
        .unmap_resource         = arm_iommu_unmap_resource,
 };
 
-struct dma_map_ops iommu_coherent_ops = {
+const struct dma_map_ops iommu_coherent_ops = {
        .alloc          = arm_coherent_iommu_alloc_attrs,
        .free           = arm_coherent_iommu_free_attrs,
        .mmap           = arm_coherent_iommu_mmap_attrs,
@@ -2319,7 +2319,7 @@ void arm_iommu_detach_device(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(arm_iommu_detach_device);
 
-static struct dma_map_ops *arm_get_iommu_dma_map_ops(bool coherent)
+static const struct dma_map_ops *arm_get_iommu_dma_map_ops(bool coherent)
 {
        return coherent ? &iommu_coherent_ops : &iommu_ops;
 }
@@ -2374,7 +2374,7 @@ static void arm_teardown_iommu_dma_ops(struct device *dev) { }
 
 #endif /* CONFIG_ARM_DMA_USE_IOMMU */
 
-static struct dma_map_ops *arm_get_dma_map_ops(bool coherent)
+static const struct dma_map_ops *arm_get_dma_map_ops(bool coherent)
 {
        return coherent ? &arm_coherent_dma_ops : &arm_dma_ops;
 }
@@ -2382,7 +2382,7 @@ static struct dma_map_ops *arm_get_dma_map_ops(bool coherent)
 void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
                        const struct iommu_ops *iommu, bool coherent)
 {
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
 
        dev->archdata.dma_coherent = coherent;
        if (arm_setup_iommu_dma_ops(dev, dma_base, size, iommu))
index bd62d94f8ac5b72cd54e73098ebd3eef89ca6415..ce18c91b50a1cbac3fb6d38af60c63af9b031185 100644 (file)
@@ -182,10 +182,10 @@ void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order)
 }
 EXPORT_SYMBOL_GPL(xen_destroy_contiguous_region);
 
-struct dma_map_ops *xen_dma_ops;
+const struct dma_map_ops *xen_dma_ops;
 EXPORT_SYMBOL(xen_dma_ops);
 
-static struct dma_map_ops xen_swiotlb_dma_ops = {
+static const struct dma_map_ops xen_swiotlb_dma_ops = {
        .alloc = xen_swiotlb_alloc_coherent,
        .free = xen_swiotlb_free_coherent,
        .sync_single_for_cpu = xen_swiotlb_sync_single_for_cpu,
index 243ef256b8c9e3a33f86ec3c19a8843cc3d1126a..00c678cc31e13181f37b79d30bc80dcdd94bd192 100644 (file)
@@ -17,7 +17,7 @@
 #define __ASM_DEVICE_H
 
 struct dev_archdata {
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
 #ifdef CONFIG_IOMMU_API
        void *iommu;                    /* private IOMMU data */
 #endif
index ccea82c2b089d01c3340711e9e219b8bba3ca89c..1fedb43be712e8edac811b9b4b01f4376df77795 100644 (file)
@@ -25,9 +25,9 @@
 #include <asm/xen/hypervisor.h>
 
 #define DMA_ERROR_CODE (~(dma_addr_t)0)
-extern struct dma_map_ops dummy_dma_ops;
+extern const struct dma_map_ops dummy_dma_ops;
 
-static inline struct dma_map_ops *__generic_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *__generic_dma_ops(struct device *dev)
 {
        if (dev && dev->archdata.dma_ops)
                return dev->archdata.dma_ops;
@@ -39,7 +39,7 @@ static inline struct dma_map_ops *__generic_dma_ops(struct device *dev)
        return &dummy_dma_ops;
 }
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        if (xen_initial_domain())
                return xen_dma_ops;
index e04082700bb16c3598333de72b3c64659be63e5e..bcef6368d48fd62d1a5b01768acf318dc0297c9e 100644 (file)
@@ -352,7 +352,7 @@ static int __swiotlb_dma_supported(struct device *hwdev, u64 mask)
        return 1;
 }
 
-static struct dma_map_ops swiotlb_dma_ops = {
+static const struct dma_map_ops swiotlb_dma_ops = {
        .alloc = __dma_alloc,
        .free = __dma_free,
        .mmap = __swiotlb_mmap,
@@ -505,7 +505,7 @@ static int __dummy_dma_supported(struct device *hwdev, u64 mask)
        return 0;
 }
 
-struct dma_map_ops dummy_dma_ops = {
+const struct dma_map_ops dummy_dma_ops = {
        .alloc                  = __dummy_alloc,
        .free                   = __dummy_free,
        .mmap                   = __dummy_mmap,
@@ -784,7 +784,7 @@ static void __iommu_unmap_sg_attrs(struct device *dev,
        iommu_dma_unmap_sg(dev, sgl, nelems, dir, attrs);
 }
 
-static struct dma_map_ops iommu_dma_ops = {
+static const struct dma_map_ops iommu_dma_ops = {
        .alloc = __iommu_alloc_attrs,
        .free = __iommu_free_attrs,
        .mmap = __iommu_mmap_attrs,
index 1115f2a645d1805de87396e49fc27de9b7700136..b2b43c0e0774b55eecc971271bb43e42c6da2bb0 100644 (file)
@@ -4,9 +4,9 @@
 extern void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
        int direction);
 
-extern struct dma_map_ops avr32_dma_ops;
+extern const struct dma_map_ops avr32_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &avr32_dma_ops;
 }
index 54534e5d0781bb343a5ae72f482cea4fa228d104..555222d4f4143ac722b71e0f7557461e9da2d657 100644 (file)
@@ -191,7 +191,7 @@ static void avr32_dma_sync_sg_for_device(struct device *dev,
                dma_cache_sync(dev, sg_virt(sg), sg->length, direction);
 }
 
-struct dma_map_ops avr32_dma_ops = {
+const struct dma_map_ops avr32_dma_ops = {
        .alloc                  = avr32_dma_alloc,
        .free                   = avr32_dma_free,
        .map_page               = avr32_dma_map_page,
index 3490570aaa8284daffc6abb6d73d60d3bdcc92b4..320fb50fbd4130f40a4001f7f0d729320975ee48 100644 (file)
@@ -36,9 +36,9 @@ _dma_sync(dma_addr_t addr, size_t size, enum dma_data_direction dir)
                __dma_sync(addr, size, dir);
 }
 
-extern struct dma_map_ops bfin_dma_ops;
+extern const struct dma_map_ops bfin_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &bfin_dma_ops;
 }
index a27a74a18fb0f9413ae63cf9b5663b2d7af658d1..477bb29a7987558780609c2d6dba9588d461a254 100644 (file)
@@ -159,7 +159,7 @@ static inline void bfin_dma_sync_single_for_device(struct device *dev,
        _dma_sync(handle, size, dir);
 }
 
-struct dma_map_ops bfin_dma_ops = {
+const struct dma_map_ops bfin_dma_ops = {
        .alloc                  = bfin_dma_alloc,
        .free                   = bfin_dma_free,
 
index 5717b1e52d96386bad6e3656acf23f804e571736..88258b9ebc8e9c2211d80bd80d32c70f17c72aa6 100644 (file)
@@ -17,9 +17,9 @@
  */
 #define DMA_ERROR_CODE ~0
 
-extern struct dma_map_ops c6x_dma_ops;
+extern const struct dma_map_ops c6x_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &c6x_dma_ops;
 }
index 6752df32ef06788487fbdb573a8712a618ee87d8..9fff8be75f585a8bf961aa5173b0957bf0ab7d31 100644 (file)
@@ -123,7 +123,7 @@ static void c6x_dma_sync_sg_for_device(struct device *dev,
 
 }
 
-struct dma_map_ops c6x_dma_ops = {
+const struct dma_map_ops c6x_dma_ops = {
        .alloc                  = c6x_dma_alloc,
        .free                   = c6x_dma_free,
        .map_page               = c6x_dma_map_page,
index 1f0636793f0c8b4b7fcc61c324427908adc5308f..7072341995ff23651e6ac748a58d314f2e831199 100644 (file)
@@ -69,7 +69,7 @@ static inline int v32_dma_supported(struct device *dev, u64 mask)
        return 1;
 }
 
-struct dma_map_ops v32_dma_ops = {
+const struct dma_map_ops v32_dma_ops = {
        .alloc                  = v32_dma_alloc,
        .free                   = v32_dma_free,
        .map_page               = v32_dma_map_page,
index 5a370178a0e95a7463688ab591860aeb5050c94f..aae4fbc0a65642b889107eb33f39717611631ead 100644 (file)
@@ -2,14 +2,14 @@
 #define _ASM_CRIS_DMA_MAPPING_H
 
 #ifdef CONFIG_PCI
-extern struct dma_map_ops v32_dma_ops;
+extern const struct dma_map_ops v32_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &v32_dma_ops;
 }
 #else
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        BUG();
        return NULL;
index 9a82bfa4303b2ed4f1390906d62e85b5b7d26cb2..150cc00544a81ad7759b646a395e38973c1cbf89 100644 (file)
@@ -7,9 +7,9 @@
 extern unsigned long __nongprelbss dma_coherent_mem_start;
 extern unsigned long __nongprelbss dma_coherent_mem_end;
 
-extern struct dma_map_ops frv_dma_ops;
+extern const struct dma_map_ops frv_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &frv_dma_ops;
 }
index 187688128c65f94b29de1f751f0fee60988bd126..4a96de7f0af4ec4599d0888eb5ce5541267bf5fc 100644 (file)
@@ -164,7 +164,7 @@ static int frv_dma_supported(struct device *dev, u64 mask)
        return 1;
 }
 
-struct dma_map_ops frv_dma_ops = {
+const struct dma_map_ops frv_dma_ops = {
        .alloc                  = frv_dma_alloc,
        .free                   = frv_dma_free,
        .map_page               = frv_dma_map_page,
index dba7df918144059a4f3155dbd94a667dac02b35e..e7130abc0dae67eb04202da599b49b66dd33f8e5 100644 (file)
@@ -106,7 +106,7 @@ static int frv_dma_supported(struct device *dev, u64 mask)
        return 1;
 }
 
-struct dma_map_ops frv_dma_ops = {
+const struct dma_map_ops frv_dma_ops = {
        .alloc                  = frv_dma_alloc,
        .free                   = frv_dma_free,
        .map_page               = frv_dma_map_page,
index 7ac7fadffed07577e842d2a45912fae29630583c..f804bca4c13fe7d18e4f289d41b2d3d4dc68eb01 100644 (file)
@@ -1,9 +1,9 @@
 #ifndef _H8300_DMA_MAPPING_H
 #define _H8300_DMA_MAPPING_H
 
-extern struct dma_map_ops h8300_dma_map_ops;
+extern const struct dma_map_ops h8300_dma_map_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &h8300_dma_map_ops;
 }
index 3651da045806a9dd8764609df0290ed6a1c1a5d4..225dd0a188dc62f59ad1fb484cef657054f45e9a 100644 (file)
@@ -60,7 +60,7 @@ static int map_sg(struct device *dev, struct scatterlist *sgl,
        return nents;
 }
 
-struct dma_map_ops h8300_dma_map_ops = {
+const struct dma_map_ops h8300_dma_map_ops = {
        .alloc = dma_alloc,
        .free = dma_free,
        .map_page = map_page,
index 7ef58df909fc2f51e23dc7e180a06b55ca88b1f4..b812e917cd95925f552b1bef328c67747fd5b01a 100644 (file)
@@ -32,9 +32,9 @@ struct device;
 extern int bad_dma_address;
 #define DMA_ERROR_CODE bad_dma_address
 
-extern struct dma_map_ops *dma_ops;
+extern const struct dma_map_ops *dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        if (unlikely(dev == NULL))
                return NULL;
index dbc4f1003da46e522b081b738ff2dded4e50aaf6..e74b65009587f51382e001c0f69154494d2e23b6 100644 (file)
@@ -25,7 +25,7 @@
 #include <linux/module.h>
 #include <asm/page.h>
 
-struct dma_map_ops *dma_ops;
+const struct dma_map_ops *dma_ops;
 EXPORT_SYMBOL(dma_ops);
 
 int bad_dma_address;  /*  globals are automatically initialized to zero  */
@@ -203,7 +203,7 @@ static void hexagon_sync_single_for_device(struct device *dev,
        dma_sync(dma_addr_to_virt(dma_handle), size, dir);
 }
 
-struct dma_map_ops hexagon_dma_ops = {
+const struct dma_map_ops hexagon_dma_ops = {
        .alloc          = hexagon_dma_alloc_coherent,
        .free           = hexagon_free_coherent,
        .map_sg         = hexagon_map_sg,
index 1e4cae5ae0532e5560834bdde6b6e6382977d7df..0310078a95f8a8a78bf360cc7aa7d0f6680a11a0 100644 (file)
@@ -18,7 +18,7 @@
 #include <linux/export.h>
 #include <asm/machvec.h>
 
-extern struct dma_map_ops sba_dma_ops, swiotlb_dma_ops;
+extern const struct dma_map_ops sba_dma_ops, swiotlb_dma_ops;
 
 /* swiotlb declarations & definitions: */
 extern int swiotlb_late_init_with_default_size (size_t size);
@@ -34,7 +34,7 @@ static inline int use_swiotlb(struct device *dev)
                !sba_dma_ops.dma_supported(dev, *dev->dma_mask);
 }
 
-struct dma_map_ops *hwsw_dma_get_ops(struct device *dev)
+const struct dma_map_ops *hwsw_dma_get_ops(struct device *dev)
 {
        if (use_swiotlb(dev))
                return &swiotlb_dma_ops;
index 630ee807389968af1c7a45d1ad6896ff4e6f158b..aec4a3354abe2c0b7b96b373e7f1c6d6da7c740b 100644 (file)
@@ -2096,7 +2096,7 @@ static int __init acpi_sba_ioc_init_acpi(void)
 /* This has to run before acpi_scan_init(). */
 arch_initcall(acpi_sba_ioc_init_acpi);
 
-extern struct dma_map_ops swiotlb_dma_ops;
+extern const struct dma_map_ops swiotlb_dma_ops;
 
 static int __init
 sba_init(void)
@@ -2216,7 +2216,7 @@ sba_page_override(char *str)
 
 __setup("sbapagesize=",sba_page_override);
 
-struct dma_map_ops sba_dma_ops = {
+const struct dma_map_ops sba_dma_ops = {
        .alloc                  = sba_alloc_coherent,
        .free                   = sba_free_coherent,
        .map_page               = sba_map_page,
index d472805edfa9da0df269effd38c09de607bdd291..05e467d56d8615954ffef12aa49eabe12f64b618 100644 (file)
@@ -14,7 +14,7 @@
 
 #define DMA_ERROR_CODE 0
 
-extern struct dma_map_ops *dma_ops;
+extern const struct dma_map_ops *dma_ops;
 extern struct ia64_machine_vector ia64_mv;
 extern void set_iommu_machvec(void);
 
index ed7f09089f12fb8e29f481fb63f97df04300a8bf..af285c423e1e4d7a339404beb6d6dd48c2e15d44 100644 (file)
@@ -44,7 +44,7 @@ typedef void ia64_mv_kernel_launch_event_t(void);
 /* DMA-mapping interface: */
 typedef void ia64_mv_dma_init (void);
 typedef u64 ia64_mv_dma_get_required_mask (struct device *);
-typedef struct dma_map_ops *ia64_mv_dma_get_ops(struct device *);
+typedef const struct dma_map_ops *ia64_mv_dma_get_ops(struct device *);
 
 /*
  * WARNING: The legacy I/O space is _architected_.  Platforms are
@@ -248,7 +248,7 @@ extern void machvec_init_from_cmdline(const char *cmdline);
 # endif /* CONFIG_IA64_GENERIC */
 
 extern void swiotlb_dma_init(void);
-extern struct dma_map_ops *dma_get_ops(struct device *);
+extern const struct dma_map_ops *dma_get_ops(struct device *);
 
 /*
  * Define default versions so we can extend machvec for new platforms without having
index 7f7916238208cf13999c8ccfee9086e823cea8ca..e0dd97f4eb693fe131cddb668f4031f5c3291c99 100644 (file)
@@ -4,7 +4,7 @@
 /* Set this to 1 if there is a HW IOMMU in the system */
 int iommu_detected __read_mostly;
 
-struct dma_map_ops *dma_ops;
+const struct dma_map_ops *dma_ops;
 EXPORT_SYMBOL(dma_ops);
 
 #define PREALLOC_DMA_DEBUG_ENTRIES (1 << 16)
@@ -17,7 +17,7 @@ static int __init dma_init(void)
 }
 fs_initcall(dma_init);
 
-struct dma_map_ops *dma_get_ops(struct device *dev)
+const struct dma_map_ops *dma_get_ops(struct device *dev)
 {
        return dma_ops;
 }
index 992c1098c522c2eecf6dacbef4a3b96f2ecf2de1..9094a73f996f30ebfa036d43122eb29410f6fa70 100644 (file)
@@ -90,11 +90,11 @@ void __init pci_iommu_alloc(void)
 {
        dma_ops = &intel_dma_ops;
 
-       dma_ops->sync_single_for_cpu = machvec_dma_sync_single;
-       dma_ops->sync_sg_for_cpu = machvec_dma_sync_sg;
-       dma_ops->sync_single_for_device = machvec_dma_sync_single;
-       dma_ops->sync_sg_for_device = machvec_dma_sync_sg;
-       dma_ops->dma_supported = iommu_dma_supported;
+       intel_dma_ops.sync_single_for_cpu = machvec_dma_sync_single;
+       intel_dma_ops.sync_sg_for_cpu = machvec_dma_sync_sg;
+       intel_dma_ops.sync_single_for_device = machvec_dma_sync_single;
+       intel_dma_ops.sync_sg_for_device = machvec_dma_sync_sg;
+       intel_dma_ops.dma_supported = iommu_dma_supported;
 
        /*
         * The order of these functions is important for
index 2933208c02855d28e7aa607f2e15f8fd11d9fdb4..a14989dacded81301734c3b12de8d17759c290f0 100644 (file)
@@ -30,7 +30,7 @@ static void ia64_swiotlb_free_coherent(struct device *dev, size_t size,
        swiotlb_free_coherent(dev, size, vaddr, dma_addr);
 }
 
-struct dma_map_ops swiotlb_dma_ops = {
+const struct dma_map_ops swiotlb_dma_ops = {
        .alloc = ia64_swiotlb_alloc_coherent,
        .free = ia64_swiotlb_free_coherent,
        .map_page = swiotlb_map_page,
index 4a9f35e0973ff166956c123d594fd24c7dfafc92..7955a9799466aff0335b94fcb028ed147546a56b 100644 (file)
@@ -4,7 +4,7 @@
  * This file is released under the GPLv2
  */
 struct dev_archdata {
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
 };
 
 struct pdev_archdata {
index 2c43a77fe94235512ad45111daac393732685dc4..99c43d2f05dc73100d9d3847a826c6a7556c2de4 100644 (file)
@@ -10,7 +10,7 @@
 
 #define DMA_ERROR_CODE (~(dma_addr_t)0x0)
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        if (dev && dev->archdata.dma_ops)
                return dev->archdata.dma_ops;
index 96c536194287d02d1802c114add933495c855736..863509939d5a2a2c562e6f83a74391a304740d17 100644 (file)
@@ -1,9 +1,9 @@
 #ifndef _M68K_DMA_MAPPING_H
 #define _M68K_DMA_MAPPING_H
 
-extern struct dma_map_ops m68k_dma_ops;
+extern const struct dma_map_ops m68k_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
         return &m68k_dma_ops;
 }
index 07070065a4256d6b237da811e552950d16e2e24c..0fc5dabb4a42ef388bc757260eaecfd2e58242ea 100644 (file)
@@ -158,7 +158,7 @@ static int m68k_dma_map_sg(struct device *dev, struct scatterlist *sglist,
        return nents;
 }
 
-struct dma_map_ops m68k_dma_ops = {
+const struct dma_map_ops m68k_dma_ops = {
        .alloc                  = m68k_dma_alloc,
        .free                   = m68k_dma_free,
        .map_page               = m68k_dma_map_page,
index 27af5d479ce62fda67f29a604efd852a0ddee7ff..c156a7ac732f44c21d24379f4e473142875a8c52 100644 (file)
@@ -1,9 +1,9 @@
 #ifndef _ASM_METAG_DMA_MAPPING_H
 #define _ASM_METAG_DMA_MAPPING_H
 
-extern struct dma_map_ops metag_dma_ops;
+extern const struct dma_map_ops metag_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &metag_dma_ops;
 }
index 91968d92652b4a7f03fb9c7138d5685f569bcb64..f0ab3a498328529229ad2e9d6ad5f5ec69413fd2 100644 (file)
@@ -575,7 +575,7 @@ static void metag_dma_sync_sg_for_device(struct device *dev,
                dma_sync_for_device(sg_virt(sg), sg->length, direction);
 }
 
-struct dma_map_ops metag_dma_ops = {
+const struct dma_map_ops metag_dma_ops = {
        .alloc                  = metag_dma_alloc,
        .free                   = metag_dma_free,
        .map_page               = metag_dma_map_page,
index 1768d4bdc8d30fa4ff9ec91d228670700e5f5762..c7faf2fb51d639d09774629c96d7c77aeabbba57 100644 (file)
@@ -36,9 +36,9 @@
 /*
  * Available generic sets of operations
  */
-extern struct dma_map_ops dma_direct_ops;
+extern const struct dma_map_ops dma_direct_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &dma_direct_ops;
 }
index 818daf230eb4e8d34989e938406d4b1445e37fc5..12e093a03e60374c9a10222e5755a0f63e143aa2 100644 (file)
@@ -187,7 +187,7 @@ int dma_direct_mmap_coherent(struct device *dev, struct vm_area_struct *vma,
 #endif
 }
 
-struct dma_map_ops dma_direct_ops = {
+const struct dma_map_ops dma_direct_ops = {
        .alloc          = dma_direct_alloc_coherent,
        .free           = dma_direct_free_coherent,
        .mmap           = dma_direct_mmap_coherent,
index fd69528b24fb3956818dc18cd143e5ada752318e..897d32c888ee2ee956352be1f6af82297266be83 100644 (file)
@@ -205,7 +205,7 @@ static phys_addr_t octeon_unity_dma_to_phys(struct device *dev, dma_addr_t daddr
 }
 
 struct octeon_dma_map_ops {
-       struct dma_map_ops dma_map_ops;
+       const struct dma_map_ops dma_map_ops;
        dma_addr_t (*phys_to_dma)(struct device *dev, phys_addr_t paddr);
        phys_addr_t (*dma_to_phys)(struct device *dev, dma_addr_t daddr);
 };
@@ -333,7 +333,7 @@ static struct octeon_dma_map_ops _octeon_pci_dma_map_ops = {
        },
 };
 
-struct dma_map_ops *octeon_pci_dma_map_ops;
+const struct dma_map_ops *octeon_pci_dma_map_ops;
 
 void __init octeon_pci_dma_init(void)
 {
index 21c2082a0dfbb3b1dec84125f9216d54accd4edf..ebc5c12654737082ddc487cb9037d03198a87fcc 100644 (file)
@@ -10,7 +10,7 @@ struct dma_map_ops;
 
 struct dev_archdata {
        /* DMA operations on that device */
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
 
 #ifdef CONFIG_DMA_PERDEV_COHERENT
        /* Non-zero if DMA is coherent with CPU caches */
index 7aa71b9b0258f1fc349fbc2cc78b1b928ac730f8..b59b084a75691ed2f33271ba4a982086ca431377 100644 (file)
@@ -9,9 +9,9 @@
 #include <dma-coherence.h>
 #endif
 
-extern struct dma_map_ops *mips_dma_map_ops;
+extern const struct dma_map_ops *mips_dma_map_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        if (dev && dev->archdata.dma_ops)
                return dev->archdata.dma_ops;
index 460042ee5d6fa292fb28998ad43001ad7f91f744..9110988b92a127c525d0d3f889b720a50cd2b160 100644 (file)
@@ -65,7 +65,7 @@ dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr);
 phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr);
 
 struct dma_map_ops;
-extern struct dma_map_ops *octeon_pci_dma_map_ops;
+extern const struct dma_map_ops *octeon_pci_dma_map_ops;
 extern char *octeon_swiotlb;
 
 #endif /* __ASM_MACH_CAVIUM_OCTEON_DMA_COHERENCE_H */
index be52c2125d7101e37b805aef738ffa252c03d341..e0717d10e650fd0ebcbf734bf7f59ddb0954cc50 100644 (file)
@@ -88,7 +88,7 @@ extern struct plat_smp_ops nlm_smp_ops;
 extern char nlm_reset_entry[], nlm_reset_entry_end[];
 
 /* SWIOTLB */
-extern struct dma_map_ops nlm_swiotlb_dma_ops;
+extern const struct dma_map_ops nlm_swiotlb_dma_ops;
 
 extern unsigned int nlm_threads_per_core;
 extern cpumask_t nlm_cpumask;
index aab4fd681e1f06b65b7a0f9e8f44f39dd1a85ba1..7296df043d9208fbf96e7ffe0c036ca2f1843dfd 100644 (file)
@@ -122,7 +122,7 @@ phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr)
        return daddr;
 }
 
-static struct dma_map_ops loongson_dma_map_ops = {
+static const struct dma_map_ops loongson_dma_map_ops = {
        .alloc = loongson_dma_alloc_coherent,
        .free = loongson_dma_free_coherent,
        .map_page = loongson_dma_map_page,
index a39c36af97adf371459c1df924d2e20aace50181..1cb84472cb582977db32ac4b9a8341853366a495 100644 (file)
@@ -417,7 +417,7 @@ void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
 
 EXPORT_SYMBOL(dma_cache_sync);
 
-static struct dma_map_ops mips_default_dma_map_ops = {
+static const struct dma_map_ops mips_default_dma_map_ops = {
        .alloc = mips_dma_alloc_coherent,
        .free = mips_dma_free_coherent,
        .mmap = mips_dma_mmap,
@@ -433,7 +433,7 @@ static struct dma_map_ops mips_default_dma_map_ops = {
        .dma_supported = mips_dma_supported
 };
 
-struct dma_map_ops *mips_dma_map_ops = &mips_default_dma_map_ops;
+const struct dma_map_ops *mips_dma_map_ops = &mips_default_dma_map_ops;
 EXPORT_SYMBOL(mips_dma_map_ops);
 
 #define PREALLOC_DMA_DEBUG_ENTRIES (1 << 16)
index 0630693bec2aa5d491568f34fda84477056afc63..0ec9d9da6d51bddf440dfed4f19eb38559522c49 100644 (file)
@@ -67,7 +67,7 @@ static void nlm_dma_free_coherent(struct device *dev, size_t size,
        swiotlb_free_coherent(dev, size, vaddr, dma_handle);
 }
 
-struct dma_map_ops nlm_swiotlb_dma_ops = {
+const struct dma_map_ops nlm_swiotlb_dma_ops = {
        .alloc = nlm_dma_alloc_coherent,
        .free = nlm_dma_free_coherent,
        .map_page = swiotlb_map_page,
index 1dcd44757f323f26db9ae7e38562a9ea947996ab..564e3927e005da544921e89a32e50281306ae795 100644 (file)
@@ -14,9 +14,9 @@
 #include <asm/cache.h>
 #include <asm/io.h>
 
-extern struct dma_map_ops mn10300_dma_ops;
+extern const struct dma_map_ops mn10300_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &mn10300_dma_ops;
 }
index 4f4b9029f0ea176c81faf729fe5dde9ed4078f87..86108d2496b35fa3727a6c9625b792fa47a21e90 100644 (file)
@@ -121,7 +121,7 @@ static int mn10300_dma_supported(struct device *dev, u64 mask)
        return 1;
 }
 
-struct dma_map_ops mn10300_dma_ops = {
+const struct dma_map_ops mn10300_dma_ops = {
        .alloc                  = mn10300_dma_alloc,
        .free                   = mn10300_dma_free,
        .map_page               = mn10300_dma_map_page,
index bec8ac8e6ad2311cf1703334c71c367af6248ebb..aa00d839a64be7deaee27faa722a15a892490e91 100644 (file)
@@ -10,9 +10,9 @@
 #ifndef _ASM_NIOS2_DMA_MAPPING_H
 #define _ASM_NIOS2_DMA_MAPPING_H
 
-extern struct dma_map_ops nios2_dma_ops;
+extern const struct dma_map_ops nios2_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &nios2_dma_ops;
 }
index f6a5dcf9d6825ff5fd0e750b9afd62a962295759..7040c1adbb5efecf1e1de93d34c19c66e67f6fec 100644 (file)
@@ -192,7 +192,7 @@ static void nios2_dma_sync_sg_for_device(struct device *dev,
 
 }
 
-struct dma_map_ops nios2_dma_ops = {
+const struct dma_map_ops nios2_dma_ops = {
        .alloc                  = nios2_dma_alloc,
        .free                   = nios2_dma_free,
        .map_page               = nios2_dma_map_page,
index 1f260bccb36878d6445d12695f9f033787cbda48..88acbedb494777ac837b1f58e86b7987f715000a 100644 (file)
@@ -28,9 +28,9 @@
 
 #define DMA_ERROR_CODE         (~(dma_addr_t)0x0)
 
-extern struct dma_map_ops or1k_dma_map_ops;
+extern const struct dma_map_ops or1k_dma_map_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &or1k_dma_map_ops;
 }
index 906998bac9575161314cc7b996eef4c4b813d41d..b10369b7e31b287796482fe65d83e89ed97e1d33 100644 (file)
@@ -232,7 +232,7 @@ or1k_sync_single_for_device(struct device *dev,
                mtspr(SPR_DCBFR, cl);
 }
 
-struct dma_map_ops or1k_dma_map_ops = {
+const struct dma_map_ops or1k_dma_map_ops = {
        .alloc = or1k_dma_alloc,
        .free = or1k_dma_free,
        .map_page = or1k_map_page,
index 16e024602737085eee5c3bdfae979fc5e578e2a1..1749073e44fc96bb0fab82d164d9fed1fd2378a1 100644 (file)
 */
 
 #ifdef CONFIG_PA11
-extern struct dma_map_ops pcxl_dma_ops;
-extern struct dma_map_ops pcx_dma_ops;
+extern const struct dma_map_ops pcxl_dma_ops;
+extern const struct dma_map_ops pcx_dma_ops;
 #endif
 
-extern struct dma_map_ops *hppa_dma_ops;
+extern const struct dma_map_ops *hppa_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return hppa_dma_ops;
 }
index 700e2d2da0969cdfeb872071fe16b5f9c32e82cf..fa78419100c84b46a3f7ad9183ffd7748eb5b96b 100644 (file)
@@ -40,7 +40,7 @@
 #include <asm/parisc-device.h>
 
 /* See comments in include/asm-parisc/pci.h */
-struct dma_map_ops *hppa_dma_ops __read_mostly;
+const struct dma_map_ops *hppa_dma_ops __read_mostly;
 EXPORT_SYMBOL(hppa_dma_ops);
 
 static struct device root = {
index 697c53543a4d1c2112318c73aefd4edc518e41d0..5f0067a62738a77f5b62efb2ea45cc847c1d424d 100644 (file)
@@ -572,7 +572,7 @@ static void pa11_dma_sync_sg_for_device(struct device *dev, struct scatterlist *
                flush_kernel_vmap_range(sg_virt(sg), sg->length);
 }
 
-struct dma_map_ops pcxl_dma_ops = {
+const struct dma_map_ops pcxl_dma_ops = {
        .dma_supported =        pa11_dma_supported,
        .alloc =                pa11_dma_alloc,
        .free =                 pa11_dma_free,
@@ -608,7 +608,7 @@ static void pcx_dma_free(struct device *dev, size_t size, void *vaddr,
        return;
 }
 
-struct dma_map_ops pcx_dma_ops = {
+const struct dma_map_ops pcx_dma_ops = {
        .dma_supported =        pa11_dma_supported,
        .alloc =                pcx_dma_alloc,
        .free =                 pcx_dma_free,
index 406c2b1ff82d67fd0465163ce05cfd76961456bb..49cbb0fca23339295a7a2f8e20786758a374e449 100644 (file)
@@ -21,7 +21,7 @@ struct iommu_table;
  */
 struct dev_archdata {
        /* DMA operations on that device */
-       struct dma_map_ops      *dma_ops;
+       const struct dma_map_ops        *dma_ops;
 
        /*
         * These two used to be a union. However, with the hybrid ops we need
index 84e3f8dd5e4f05f04485b657036a95434076e738..2ec3eadf336fd74b9e6943f2d5564c06a1875ea1 100644 (file)
@@ -76,9 +76,9 @@ static inline unsigned long device_to_mask(struct device *dev)
 #ifdef CONFIG_PPC64
 extern struct dma_map_ops dma_iommu_ops;
 #endif
-extern struct dma_map_ops dma_direct_ops;
+extern const struct dma_map_ops dma_direct_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        /* We don't handle the NULL dev case for ISA for now. We could
         * do it via an out of line call but it is not needed for now. The
@@ -91,7 +91,7 @@ static inline struct dma_map_ops *get_dma_ops(struct device *dev)
        return dev->archdata.dma_ops;
 }
 
-static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops)
+static inline void set_dma_ops(struct device *dev, const struct dma_map_ops *ops)
 {
        dev->archdata.dma_ops = ops;
 }
index e9bd6cf0212fdbc33e14b0b9b7a192dbc775b5b0..93eded8d38431eaf34fc7e2d0e2da9279088dce9 100644 (file)
@@ -53,8 +53,8 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
 }
 
 #ifdef CONFIG_PCI
-extern void set_pci_dma_ops(struct dma_map_ops *dma_ops);
-extern struct dma_map_ops *get_pci_dma_ops(void);
+extern void set_pci_dma_ops(const struct dma_map_ops *dma_ops);
+extern const struct dma_map_ops *get_pci_dma_ops(void);
 #else  /* CONFIG_PCI */
 #define set_pci_dma_ops(d)
 #define get_pci_dma_ops()      NULL
index de99d6e29430341623fd8a0f6ee3d3a4c4e1a768..01d45a5fd00b3dcfe7404f2bdbb32ba33bab86bc 100644 (file)
@@ -13,7 +13,7 @@
 
 #include <linux/swiotlb.h>
 
-extern struct dma_map_ops swiotlb_dma_ops;
+extern const struct dma_map_ops swiotlb_dma_ops;
 
 static inline void dma_mark_clean(void *addr, size_t size) {}
 
index c6689f658b50fe93db23bdacc7e50b4e2af85968..d0ea7860e02bb973ffa37d26e91a0254ba6fc3bd 100644 (file)
@@ -46,7 +46,7 @@ static u64 swiotlb_powerpc_get_required(struct device *dev)
  * map_page, and unmap_page on highmem, use normal dma_ops
  * for everything else.
  */
-struct dma_map_ops swiotlb_dma_ops = {
+const struct dma_map_ops swiotlb_dma_ops = {
        .alloc = __dma_direct_alloc_coherent,
        .free = __dma_direct_free_coherent,
        .mmap = dma_direct_mmap_coherent,
index 6877e3fa95bbc2a3523c32e6437779721ee67e0b..03b98f1f98ecb7f73479ff77396cef58c60caa86 100644 (file)
@@ -274,7 +274,7 @@ static inline void dma_direct_sync_single(struct device *dev,
 }
 #endif
 
-struct dma_map_ops dma_direct_ops = {
+const struct dma_map_ops dma_direct_ops = {
        .alloc                          = dma_direct_alloc_coherent,
        .free                           = dma_direct_free_coherent,
        .mmap                           = dma_direct_mmap_coherent,
@@ -316,7 +316,7 @@ EXPORT_SYMBOL(dma_set_coherent_mask);
 
 int __dma_set_mask(struct device *dev, u64 dma_mask)
 {
-       struct dma_map_ops *dma_ops = get_dma_ops(dev);
+       const struct dma_map_ops *dma_ops = get_dma_ops(dev);
 
        if ((dma_ops != NULL) && (dma_ops->set_dma_mask != NULL))
                return dma_ops->set_dma_mask(dev, dma_mask);
@@ -344,7 +344,7 @@ EXPORT_SYMBOL(dma_set_mask);
 
 u64 __dma_get_required_mask(struct device *dev)
 {
-       struct dma_map_ops *dma_ops = get_dma_ops(dev);
+       const struct dma_map_ops *dma_ops = get_dma_ops(dev);
 
        if (unlikely(dma_ops == NULL))
                return 0;
index 74bec549897202e797b2f0c7de30ad7d83ed9cfb..09db4778435c3d33f264af092952792db8a3b8a1 100644 (file)
@@ -59,14 +59,14 @@ resource_size_t isa_mem_base;
 EXPORT_SYMBOL(isa_mem_base);
 
 
-static struct dma_map_ops *pci_dma_ops = &dma_direct_ops;
+static const struct dma_map_ops *pci_dma_ops = &dma_direct_ops;
 
-void set_pci_dma_ops(struct dma_map_ops *dma_ops)
+void set_pci_dma_ops(const struct dma_map_ops *dma_ops)
 {
        pci_dma_ops = dma_ops;
 }
 
-struct dma_map_ops *get_pci_dma_ops(void)
+const struct dma_map_ops *get_pci_dma_ops(void)
 {
        return pci_dma_ops;
 }
index 7ff51f96a00e8222fd8720bb98deb0aae57458b6..e1413e69e5feb7a36f56458d696382dc21ef2ac1 100644 (file)
@@ -651,7 +651,7 @@ static int dma_fixed_dma_supported(struct device *dev, u64 mask)
 
 static int dma_set_mask_and_switch(struct device *dev, u64 dma_mask);
 
-static struct dma_map_ops dma_iommu_fixed_ops = {
+static const struct dma_map_ops dma_iommu_fixed_ops = {
        .alloc          = dma_fixed_alloc_coherent,
        .free           = dma_fixed_free_coherent,
        .map_sg         = dma_fixed_map_sg,
@@ -1172,7 +1172,7 @@ __setup("iommu_fixed=", setup_iommu_fixed);
 
 static u64 cell_dma_get_required_mask(struct device *dev)
 {
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
 
        if (!dev->dma_mask)
                return 0;
index 73b155fd4481595d6763929f76ea8df344e3b6b2..1c383f38031dfe3a9db91e6394f47cd0699f1d83 100644 (file)
@@ -115,7 +115,7 @@ static u64 dma_npu_get_required_mask(struct device *dev)
        return 0;
 }
 
-static struct dma_map_ops dma_npu_ops = {
+static const struct dma_map_ops dma_npu_ops = {
        .map_page               = dma_npu_map_page,
        .map_sg                 = dma_npu_map_sg,
        .alloc                  = dma_npu_alloc,
index 8af1c15aef85f585e73a2b1b327d3c9d35e7872e..c81450d98794b0bbec36c4cb4237f23aa7d8abe7 100644 (file)
@@ -701,7 +701,7 @@ static u64 ps3_dma_get_required_mask(struct device *_dev)
        return DMA_BIT_MASK(32);
 }
 
-static struct dma_map_ops ps3_sb_dma_ops = {
+static const struct dma_map_ops ps3_sb_dma_ops = {
        .alloc = ps3_alloc_coherent,
        .free = ps3_free_coherent,
        .map_sg = ps3_sb_map_sg,
@@ -712,7 +712,7 @@ static struct dma_map_ops ps3_sb_dma_ops = {
        .unmap_page = ps3_unmap_page,
 };
 
-static struct dma_map_ops ps3_ioc0_dma_ops = {
+static const struct dma_map_ops ps3_ioc0_dma_ops = {
        .alloc = ps3_alloc_coherent,
        .free = ps3_free_coherent,
        .map_sg = ps3_ioc0_map_sg,
index 614c2853714166e125f7206f8ad47fc0db76096f..2e36a0b8944ac702b1fd6aeaf3b3e5e5f9f141ab 100644 (file)
@@ -136,7 +136,7 @@ static u64 ibmebus_dma_get_required_mask(struct device *dev)
        return DMA_BIT_MASK(64);
 }
 
-static struct dma_map_ops ibmebus_dma_ops = {
+static const struct dma_map_ops ibmebus_dma_ops = {
        .alloc              = ibmebus_alloc_coherent,
        .free               = ibmebus_free_coherent,
        .map_sg             = ibmebus_map_sg,
index 2c8fb3ec989e08b98cbd0835c9674efdc0d90044..7204939324863566ef98ea6d387248a362cd1a87 100644 (file)
@@ -615,7 +615,7 @@ static u64 vio_dma_get_required_mask(struct device *dev)
         return dma_iommu_ops.get_required_mask(dev);
 }
 
-static struct dma_map_ops vio_dma_mapping_ops = {
+static const struct dma_map_ops vio_dma_mapping_ops = {
        .alloc             = vio_dma_iommu_alloc_coherent,
        .free              = vio_dma_iommu_free_coherent,
        .mmap              = dma_direct_mmap_coherent,
index 4a9f35e0973ff166956c123d594fd24c7dfafc92..7955a9799466aff0335b94fcb028ed147546a56b 100644 (file)
@@ -4,7 +4,7 @@
  * This file is released under the GPLv2
  */
 struct dev_archdata {
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
 };
 
 struct pdev_archdata {
index ffaba07f50ab5e583c76ee87a8c69ef5e48a8618..2776d205b1ffc57ffff20e32b793950331415354 100644 (file)
@@ -10,9 +10,9 @@
 
 #define DMA_ERROR_CODE         (~(dma_addr_t) 0x0)
 
-extern struct dma_map_ops s390_pci_dma_ops;
+extern const struct dma_map_ops s390_pci_dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        if (dev && dev->archdata.dma_ops)
                return dev->archdata.dma_ops;
index 1d7a9c71944a7737c16cdec2d6a68b798e6590b0..9081a57fa340ce40059565363a3c2f93ce202055 100644 (file)
@@ -650,7 +650,7 @@ static int __init dma_debug_do_init(void)
 }
 fs_initcall(dma_debug_do_init);
 
-struct dma_map_ops s390_pci_dma_ops = {
+const struct dma_map_ops s390_pci_dma_ops = {
        .alloc          = s390_dma_alloc,
        .free           = s390_dma_free,
        .map_sg         = s390_dma_map_sg,
index 0052ad40e86d33f04a2034fc33337d1e1859d035..a7382c34c241d7e51cc5fd3f2330c37f4148712e 100644 (file)
@@ -1,10 +1,10 @@
 #ifndef __ASM_SH_DMA_MAPPING_H
 #define __ASM_SH_DMA_MAPPING_H
 
-extern struct dma_map_ops *dma_ops;
+extern const struct dma_map_ops *dma_ops;
 extern void no_iommu_init(void);
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return dma_ops;
 }
index 47fee3b6e29c1311ac2f36779ff5560c8d98cb28..d24c707b21818a8d46ff9078373bc293691ab83b 100644 (file)
@@ -65,7 +65,7 @@ static void nommu_sync_sg(struct device *dev, struct scatterlist *sg,
 }
 #endif
 
-struct dma_map_ops nommu_dma_ops = {
+const struct dma_map_ops nommu_dma_ops = {
        .alloc                  = dma_generic_alloc_coherent,
        .free                   = dma_generic_free_coherent,
        .map_page               = nommu_map_page,
index 92b6976fde592008b29b0581a1b3e91b2b5633f7..d1275adfa0efb94c76bb880827103e921bb2d6e0 100644 (file)
@@ -22,7 +22,7 @@
 
 #define PREALLOC_DMA_DEBUG_ENTRIES     4096
 
-struct dma_map_ops *dma_ops;
+const struct dma_map_ops *dma_ops;
 EXPORT_SYMBOL(dma_ops);
 
 static int __init dma_init(void)
index 1180ae25415489d1642ffc94a5db70011f250dd9..3d2babc0c4c6ce2e9eb482c7a1f094536424f9cc 100644 (file)
@@ -18,13 +18,13 @@ static inline void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
         */
 }
 
-extern struct dma_map_ops *dma_ops;
-extern struct dma_map_ops *leon_dma_ops;
-extern struct dma_map_ops pci32_dma_ops;
+extern const struct dma_map_ops *dma_ops;
+extern const struct dma_map_ops *leon_dma_ops;
+extern const struct dma_map_ops pci32_dma_ops;
 
 extern struct bus_type pci_bus_type;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
 #ifdef CONFIG_SPARC_LEON
        if (sparc_cpu_model == sparc_leon)
index 9df997995f6b8970c64acd9d562d9ad8bb1db79f..c63ba99ca551a8b07794d9a02609a9e820943966 100644 (file)
@@ -741,7 +741,7 @@ static void dma_4u_sync_sg_for_cpu(struct device *dev,
        spin_unlock_irqrestore(&iommu->lock, flags);
 }
 
-static struct dma_map_ops sun4u_dma_ops = {
+static const struct dma_map_ops sun4u_dma_ops = {
        .alloc                  = dma_4u_alloc_coherent,
        .free                   = dma_4u_free_coherent,
        .map_page               = dma_4u_map_page,
@@ -752,7 +752,7 @@ static struct dma_map_ops sun4u_dma_ops = {
        .sync_sg_for_cpu        = dma_4u_sync_sg_for_cpu,
 };
 
-struct dma_map_ops *dma_ops = &sun4u_dma_ops;
+const struct dma_map_ops *dma_ops = &sun4u_dma_ops;
 EXPORT_SYMBOL(dma_ops);
 
 int dma_supported(struct device *dev, u64 device_mask)
index 6ffaec44931a6eee4bdba92e0cae91c431dfa1c6..cf20033a14584e97dfe472a749f5345471e6a84e 100644 (file)
@@ -401,7 +401,7 @@ static void sbus_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
        BUG();
 }
 
-static struct dma_map_ops sbus_dma_ops = {
+static const struct dma_map_ops sbus_dma_ops = {
        .alloc                  = sbus_alloc_coherent,
        .free                   = sbus_free_coherent,
        .map_page               = sbus_map_page,
@@ -637,7 +637,7 @@ static void pci32_sync_sg_for_device(struct device *device, struct scatterlist *
        }
 }
 
-struct dma_map_ops pci32_dma_ops = {
+const struct dma_map_ops pci32_dma_ops = {
        .alloc                  = pci32_alloc_coherent,
        .free                   = pci32_free_coherent,
        .map_page               = pci32_map_page,
@@ -652,10 +652,10 @@ struct dma_map_ops pci32_dma_ops = {
 EXPORT_SYMBOL(pci32_dma_ops);
 
 /* leon re-uses pci32_dma_ops */
-struct dma_map_ops *leon_dma_ops = &pci32_dma_ops;
+const struct dma_map_ops *leon_dma_ops = &pci32_dma_ops;
 EXPORT_SYMBOL(leon_dma_ops);
 
-struct dma_map_ops *dma_ops = &sbus_dma_ops;
+const struct dma_map_ops *dma_ops = &sbus_dma_ops;
 EXPORT_SYMBOL(dma_ops);
 
 
index f4daccd12bf549849d47d04bf048d9500fffcb27..68bec7c97cb8ff9a1e46c120c81542027f710210 100644 (file)
@@ -669,7 +669,7 @@ static void dma_4v_unmap_sg(struct device *dev, struct scatterlist *sglist,
        local_irq_restore(flags);
 }
 
-static struct dma_map_ops sun4v_dma_ops = {
+static const struct dma_map_ops sun4v_dma_ops = {
        .alloc                          = dma_4v_alloc_coherent,
        .free                           = dma_4v_free_coherent,
        .map_page                       = dma_4v_map_page,
index 6ab8bf146d4c72cb830cc0fb263fd164a2ccec79..25f23ac7d361982f59df6509ffbca051ecfde2c0 100644 (file)
@@ -18,7 +18,7 @@
 
 struct dev_archdata {
        /* DMA operations on that device */
-        struct dma_map_ops     *dma_ops;
+        const struct dma_map_ops       *dma_ops;
 
        /* Offset of the DMA address from the PA. */
        dma_addr_t              dma_offset;
index 01ceb4a895b09b21167fd269ee8874a5d87a00ce..4a06cc75b85647152e25d0da62bb19642c63d93c 100644 (file)
 #define ARCH_HAS_DMA_GET_REQUIRED_MASK
 #endif
 
-extern struct dma_map_ops *tile_dma_map_ops;
-extern struct dma_map_ops *gx_pci_dma_map_ops;
-extern struct dma_map_ops *gx_legacy_pci_dma_map_ops;
-extern struct dma_map_ops *gx_hybrid_pci_dma_map_ops;
+extern const struct dma_map_ops *tile_dma_map_ops;
+extern const struct dma_map_ops *gx_pci_dma_map_ops;
+extern const struct dma_map_ops *gx_legacy_pci_dma_map_ops;
+extern const struct dma_map_ops *gx_hybrid_pci_dma_map_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        if (dev && dev->archdata.dma_ops)
                return dev->archdata.dma_ops;
@@ -59,7 +59,7 @@ static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr)
 
 static inline void dma_mark_clean(void *addr, size_t size) {}
 
-static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops)
+static inline void set_dma_ops(struct device *dev, const struct dma_map_ops *ops)
 {
        dev->archdata.dma_ops = ops;
 }
index 24e0f8c21f2f4b9734f027a06a688df76a9effe7..569bb6dd154a4ab2a6b933b8a2c15cb144df1c88 100644 (file)
@@ -329,7 +329,7 @@ tile_dma_supported(struct device *dev, u64 mask)
        return 1;
 }
 
-static struct dma_map_ops tile_default_dma_map_ops = {
+static const struct dma_map_ops tile_default_dma_map_ops = {
        .alloc = tile_dma_alloc_coherent,
        .free = tile_dma_free_coherent,
        .map_page = tile_dma_map_page,
@@ -344,7 +344,7 @@ static struct dma_map_ops tile_default_dma_map_ops = {
        .dma_supported = tile_dma_supported
 };
 
-struct dma_map_ops *tile_dma_map_ops = &tile_default_dma_map_ops;
+const struct dma_map_ops *tile_dma_map_ops = &tile_default_dma_map_ops;
 EXPORT_SYMBOL(tile_dma_map_ops);
 
 /* Generic PCI DMA mapping functions */
@@ -516,7 +516,7 @@ tile_pci_dma_supported(struct device *dev, u64 mask)
        return 1;
 }
 
-static struct dma_map_ops tile_pci_default_dma_map_ops = {
+static const struct dma_map_ops tile_pci_default_dma_map_ops = {
        .alloc = tile_pci_dma_alloc_coherent,
        .free = tile_pci_dma_free_coherent,
        .map_page = tile_pci_dma_map_page,
@@ -531,7 +531,7 @@ static struct dma_map_ops tile_pci_default_dma_map_ops = {
        .dma_supported = tile_pci_dma_supported
 };
 
-struct dma_map_ops *gx_pci_dma_map_ops = &tile_pci_default_dma_map_ops;
+const struct dma_map_ops *gx_pci_dma_map_ops = &tile_pci_default_dma_map_ops;
 EXPORT_SYMBOL(gx_pci_dma_map_ops);
 
 /* PCI DMA mapping functions for legacy PCI devices */
@@ -552,7 +552,7 @@ static void tile_swiotlb_free_coherent(struct device *dev, size_t size,
        swiotlb_free_coherent(dev, size, vaddr, dma_addr);
 }
 
-static struct dma_map_ops pci_swiotlb_dma_ops = {
+static const struct dma_map_ops pci_swiotlb_dma_ops = {
        .alloc = tile_swiotlb_alloc_coherent,
        .free = tile_swiotlb_free_coherent,
        .map_page = swiotlb_map_page,
@@ -567,7 +567,7 @@ static struct dma_map_ops pci_swiotlb_dma_ops = {
        .mapping_error = swiotlb_dma_mapping_error,
 };
 
-static struct dma_map_ops pci_hybrid_dma_ops = {
+static const struct dma_map_ops pci_hybrid_dma_ops = {
        .alloc = tile_swiotlb_alloc_coherent,
        .free = tile_swiotlb_free_coherent,
        .map_page = tile_pci_dma_map_page,
@@ -582,18 +582,18 @@ static struct dma_map_ops pci_hybrid_dma_ops = {
        .dma_supported = tile_pci_dma_supported
 };
 
-struct dma_map_ops *gx_legacy_pci_dma_map_ops = &pci_swiotlb_dma_ops;
-struct dma_map_ops *gx_hybrid_pci_dma_map_ops = &pci_hybrid_dma_ops;
+const struct dma_map_ops *gx_legacy_pci_dma_map_ops = &pci_swiotlb_dma_ops;
+const struct dma_map_ops *gx_hybrid_pci_dma_map_ops = &pci_hybrid_dma_ops;
 #else
-struct dma_map_ops *gx_legacy_pci_dma_map_ops;
-struct dma_map_ops *gx_hybrid_pci_dma_map_ops;
+const struct dma_map_ops *gx_legacy_pci_dma_map_ops;
+const struct dma_map_ops *gx_hybrid_pci_dma_map_ops;
 #endif
 EXPORT_SYMBOL(gx_legacy_pci_dma_map_ops);
 EXPORT_SYMBOL(gx_hybrid_pci_dma_map_ops);
 
 int dma_set_mask(struct device *dev, u64 mask)
 {
-       struct dma_map_ops *dma_ops = get_dma_ops(dev);
+       const struct dma_map_ops *dma_ops = get_dma_ops(dev);
 
        /*
         * For PCI devices with 64-bit DMA addressing capability, promote
@@ -623,7 +623,7 @@ EXPORT_SYMBOL(dma_set_mask);
 #ifdef CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK
 int dma_set_coherent_mask(struct device *dev, u64 mask)
 {
-       struct dma_map_ops *dma_ops = get_dma_ops(dev);
+       const struct dma_map_ops *dma_ops = get_dma_ops(dev);
 
        /*
         * For PCI devices with 64-bit DMA addressing capability, promote
index 4749854afd03544481207d54569f47c5368edc60..14d7729c7b73ec7d4dd937b72d46917573534167 100644 (file)
@@ -21,9 +21,9 @@
 #include <asm/memory.h>
 #include <asm/cacheflush.h>
 
-extern struct dma_map_ops swiotlb_dma_map_ops;
+extern const struct dma_map_ops swiotlb_dma_map_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &swiotlb_dma_map_ops;
 }
index 3e9f6489ba380a72e575e53118e914d3077369e4..525413d6690eabbf96f93a5db1c84a0c2b827f6e 100644 (file)
@@ -31,7 +31,7 @@ static void unicore_swiotlb_free_coherent(struct device *dev, size_t size,
        swiotlb_free_coherent(dev, size, vaddr, dma_addr);
 }
 
-struct dma_map_ops swiotlb_dma_map_ops = {
+const struct dma_map_ops swiotlb_dma_map_ops = {
        .alloc = unicore_swiotlb_alloc_coherent,
        .free = unicore_swiotlb_free_coherent,
        .map_sg = swiotlb_map_sg_attrs,
index 684ed6c3aa679d15dac80a48cd832ecf721b52dd..b2d0b4ced7e38f000dbde87767754f7754089937 100644 (file)
@@ -3,7 +3,7 @@
 
 struct dev_archdata {
 #ifdef CONFIG_X86_DEV_DMA_OPS
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
 #endif
 #if defined(CONFIG_INTEL_IOMMU) || defined(CONFIG_AMD_IOMMU)
        void *iommu; /* hook for IOMMU specific extension */
@@ -13,7 +13,7 @@ struct dev_archdata {
 #if defined(CONFIG_X86_DEV_DMA_OPS) && defined(CONFIG_PCI_DOMAINS)
 struct dma_domain {
        struct list_head node;
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
        int domain_nr;
 };
 void add_dma_domain(struct dma_domain *domain);
index 44461626830e4be5f04b8074fd7b3c0e8bc612c6..5e4772886a1e8aa92322fa47506ea569a3c61062 100644 (file)
@@ -25,9 +25,9 @@ extern int iommu_merge;
 extern struct device x86_dma_fallback_dev;
 extern int panic_on_overflow;
 
-extern struct dma_map_ops *dma_ops;
+extern const struct dma_map_ops *dma_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
 #ifndef CONFIG_X86_DEV_DMA_OPS
        return dma_ops;
index 345c99cef15262dda6415b5eff3d2140c37bafcc..793869879464e0ca8fa872cae092e1d39cd15118 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef _ASM_X86_IOMMU_H
 #define _ASM_X86_IOMMU_H
 
-extern struct dma_map_ops nommu_dma_ops;
+extern const struct dma_map_ops nommu_dma_ops;
 extern int force_iommu, no_iommu;
 extern int iommu_detected;
 extern int iommu_pass_through;
index 63ff468a7986659b1c082165860065fab16391b5..82dfe32faaf41b17ea92dd21b72b1783b0f887b1 100644 (file)
@@ -695,7 +695,7 @@ static __init int init_amd_gatt(struct agp_kern_info *info)
        return -1;
 }
 
-static struct dma_map_ops gart_dma_ops = {
+static const struct dma_map_ops gart_dma_ops = {
        .map_sg                         = gart_map_sg,
        .unmap_sg                       = gart_unmap_sg,
        .map_page                       = gart_map_page,
index 5d400ba1349df2c87bd40758578bd49122426b61..17f180148c804d0eb594a73252df357892d35157 100644 (file)
@@ -478,7 +478,7 @@ static void calgary_free_coherent(struct device *dev, size_t size,
        free_pages((unsigned long)vaddr, get_order(size));
 }
 
-static struct dma_map_ops calgary_dma_ops = {
+static const struct dma_map_ops calgary_dma_ops = {
        .alloc = calgary_alloc_coherent,
        .free = calgary_free_coherent,
        .map_sg = calgary_map_sg,
index d30c37750765675f58b05ead98f1cbdfb9f854ec..76f4c039baaee1aabdfd3153e6d7615d5caaf263 100644 (file)
@@ -17,7 +17,7 @@
 
 static int forbid_dac __read_mostly;
 
-struct dma_map_ops *dma_ops = &nommu_dma_ops;
+const struct dma_map_ops *dma_ops = &nommu_dma_ops;
 EXPORT_SYMBOL(dma_ops);
 
 static int iommu_sac_force __read_mostly;
@@ -214,7 +214,7 @@ early_param("iommu", iommu_setup);
 
 int dma_supported(struct device *dev, u64 mask)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
 #ifdef CONFIG_PCI
        if (mask > 0xffffffff && forbid_dac > 0) {
index 00e71ce396a83f3c0c7f7c238139ef70beb8400c..a88952ef371ceb29f21e11e95717c45e321a7544 100644 (file)
@@ -88,7 +88,7 @@ static void nommu_sync_sg_for_device(struct device *dev,
        flush_write_buffers();
 }
 
-struct dma_map_ops nommu_dma_ops = {
+const struct dma_map_ops nommu_dma_ops = {
        .alloc                  = dma_generic_alloc_coherent,
        .free                   = dma_generic_free_coherent,
        .map_sg                 = nommu_map_sg,
index 410efb2c7b80028ba63367e5ed6d5e27518b0f24..1e23577e17cf10f87d584e4cdc38f4691db57862 100644 (file)
@@ -45,7 +45,7 @@ void x86_swiotlb_free_coherent(struct device *dev, size_t size,
                dma_generic_free_coherent(dev, size, vaddr, dma_addr, attrs);
 }
 
-static struct dma_map_ops swiotlb_dma_ops = {
+static const struct dma_map_ops swiotlb_dma_ops = {
        .mapping_error = swiotlb_dma_mapping_error,
        .alloc = x86_swiotlb_alloc_coherent,
        .free = x86_swiotlb_free_coherent,
index 052c1cb7630538af82e45692ae27d543469b9b9f..aa38288231705dbee1ad8d5cee8fc263cfe13c3d 100644 (file)
@@ -179,7 +179,7 @@ static void *sta2x11_swiotlb_alloc_coherent(struct device *dev,
 }
 
 /* We have our own dma_ops: the same as swiotlb but from alloc (above) */
-static struct dma_map_ops sta2x11_dma_ops = {
+static const struct dma_map_ops sta2x11_dma_ops = {
        .alloc = sta2x11_swiotlb_alloc_coherent,
        .free = x86_swiotlb_free_coherent,
        .map_page = swiotlb_map_page,
index a0b36a9d5df149e6370fb3b6be0d5894bae72bd7..42b08f8fc2cae906d5c5101bcd8f6c59e51d4568 100644 (file)
@@ -18,7 +18,7 @@
 
 int xen_swiotlb __read_mostly;
 
-static struct dma_map_ops xen_swiotlb_dma_ops = {
+static const struct dma_map_ops xen_swiotlb_dma_ops = {
        .alloc = xen_swiotlb_alloc_coherent,
        .free = xen_swiotlb_free_coherent,
        .sync_single_for_cpu = xen_swiotlb_sync_single_for_cpu,
index fe1f5c878493845703b188747857aedc5cda7a21..a77d45d39f351d19d2273a4a44e3a3b6a8934ed7 100644 (file)
@@ -10,7 +10,7 @@ struct dma_map_ops;
 
 struct dev_archdata {
        /* DMA operations on that device */
-       struct dma_map_ops *dma_ops;
+       const struct dma_map_ops *dma_ops;
 };
 
 struct pdev_archdata {
index 3fc1170a64880cdfc495fb3aca16fe8904d807b3..50d23106cce034082701a7521611a97e00857bf3 100644 (file)
@@ -18,9 +18,9 @@
 
 #define DMA_ERROR_CODE         (~(dma_addr_t)0x0)
 
-extern struct dma_map_ops xtensa_dma_map_ops;
+extern const struct dma_map_ops xtensa_dma_map_ops;
 
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        if (dev && dev->archdata.dma_ops)
                return dev->archdata.dma_ops;
index 70e362e6038e80c0e802bf6f2a1ebb3360292c07..ecec5265a66d603468809ad04c55f6baaa73786a 100644 (file)
@@ -249,7 +249,7 @@ int xtensa_dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
        return 0;
 }
 
-struct dma_map_ops xtensa_dma_map_ops = {
+const struct dma_map_ops xtensa_dma_map_ops = {
        .alloc = xtensa_dma_alloc,
        .free = xtensa_dma_free,
        .map_page = xtensa_map_page,
index 3ef0f42984f2b1ec716509203988f9ebb70533cb..3703fb9db419375d2dd80b913664e9ffe0adcd86 100644 (file)
@@ -117,7 +117,7 @@ static const struct iommu_ops amd_iommu_ops;
 static ATOMIC_NOTIFIER_HEAD(ppr_notifier);
 int amd_iommu_max_glx_val = -1;
 
-static struct dma_map_ops amd_iommu_dma_ops;
+static const struct dma_map_ops amd_iommu_dma_ops;
 
 /*
  * This struct contains device specific data for the IOMMU
@@ -2728,7 +2728,7 @@ static int amd_iommu_dma_supported(struct device *dev, u64 mask)
        return check_device(dev);
 }
 
-static struct dma_map_ops amd_iommu_dma_ops = {
+static const struct dma_map_ops amd_iommu_dma_ops = {
        .alloc          = alloc_coherent,
        .free           = free_coherent,
        .map_page       = map_page,
index be37890abb93d3897c7e000184c65567a31ed2a9..c4b27a25662a6fc65d13bfb9b73f66b16eda6506 100644 (file)
@@ -143,7 +143,7 @@ static void mbus_release_dev(struct device *d)
 }
 
 struct mbus_device *
-mbus_register_device(struct device *pdev, int id, struct dma_map_ops *dma_ops,
+mbus_register_device(struct device *pdev, int id, const struct dma_map_ops *dma_ops,
                     struct mbus_hw_ops *hw_ops, int index,
                     void __iomem *mmio_va)
 {
index ff6e01c258101f8527f75be845d1984323a72717..e5d377e97c86a3dfded10328454abf30c60d8af9 100644 (file)
@@ -138,7 +138,7 @@ static void scif_release_dev(struct device *d)
 }
 
 struct scif_hw_dev *
-scif_register_device(struct device *pdev, int id, struct dma_map_ops *dma_ops,
+scif_register_device(struct device *pdev, int id, const struct dma_map_ops *dma_ops,
                     struct scif_hw_ops *hw_ops, u8 dnode, u8 snode,
                     struct mic_mw *mmio, struct mic_mw *aper, void *dp,
                     void __iomem *rdp, struct dma_chan **chan, int num_chan,
index 94f29ac608b6a87de4165dc79bbf3ed80e0371e7..ff59568219adbf637c227ae2be657864ef8e3853 100644 (file)
@@ -113,7 +113,7 @@ int scif_register_driver(struct scif_driver *driver);
 void scif_unregister_driver(struct scif_driver *driver);
 struct scif_hw_dev *
 scif_register_device(struct device *pdev, int id,
-                    struct dma_map_ops *dma_ops,
+                    const struct dma_map_ops *dma_ops,
                     struct scif_hw_ops *hw_ops, u8 dnode, u8 snode,
                     struct mic_mw *mmio, struct mic_mw *aper,
                     void *dp, void __iomem *rdp,
index 303da222f5b6d69ba39971eb21d4177aadabbc27..e3caa6c5392287512ba7706a0d57e7b2bf558460 100644 (file)
@@ -154,7 +154,7 @@ vop_register_device(struct device *pdev, int id,
        vdev->dev.parent = pdev;
        vdev->id.device = id;
        vdev->id.vendor = VOP_DEV_ANY_ID;
-       vdev->dev.archdata.dma_ops = (struct dma_map_ops *)dma_ops;
+       vdev->dev.archdata.dma_ops = dma_ops;
        vdev->dev.dma_mask = &vdev->dev.coherent_dma_mask;
        dma_set_mask(&vdev->dev, DMA_BIT_MASK(64));
        vdev->dev.release = vop_release_dev;
index 9599d732aff3559ab28acca6189113e13ee46afa..c327985c9523be27067f2710db322e5e0afc03cc 100644 (file)
@@ -245,7 +245,7 @@ static void __mic_dma_unmap_sg(struct device *dev,
        dma_unmap_sg(&mdev->pdev->dev, sg, nents, dir);
 }
 
-static struct dma_map_ops __mic_dma_ops = {
+static const struct dma_map_ops __mic_dma_ops = {
        .alloc = __mic_dma_alloc,
        .free = __mic_dma_free,
        .map_page = __mic_dma_map_page,
@@ -344,7 +344,7 @@ mic_dma_unmap_page(struct device *dev, dma_addr_t dma_addr,
        mic_unmap_single(mdev, dma_addr, size);
 }
 
-static struct dma_map_ops mic_dma_ops = {
+static const struct dma_map_ops mic_dma_ops = {
        .map_page = mic_dma_map_page,
        .unmap_page = mic_dma_unmap_page,
 };
index 553ef8a5d588685ff02f98bde7110dfb421accaa..aeb073b5fe1606475a615054c58e02060627cec9 100644 (file)
@@ -1011,7 +1011,7 @@ ccio_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents,
        DBG_RUN_SG("%s() DONE (nents %d)\n", __func__, nents);
 }
 
-static struct dma_map_ops ccio_ops = {
+static const struct dma_map_ops ccio_ops = {
        .dma_supported =        ccio_dma_supported,
        .alloc =                ccio_alloc,
        .free =                 ccio_free,
index 151b86b6d2e2e2069e512f8b7456d1c984d60775..33385e57443382ba090cd4a1e41b5bdf4af58936 100644 (file)
@@ -1069,7 +1069,7 @@ sba_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents,
 
 }
 
-static struct dma_map_ops sba_ops = {
+static const struct dma_map_ops sba_ops = {
        .dma_supported =        sba_dma_supported,
        .alloc =                sba_alloc,
        .free =                 sba_free,
index 18ef1a93c10ac191cec6b26760533a644f0c1934..e27ad2a3bd33f8de025aff5e320f858356860e73 100644 (file)
@@ -282,7 +282,7 @@ static struct device *to_vmd_dev(struct device *dev)
        return &vmd->dev->dev;
 }
 
-static struct dma_map_ops *vmd_dma_ops(struct device *dev)
+static const struct dma_map_ops *vmd_dma_ops(struct device *dev)
 {
        return get_dma_ops(to_vmd_dev(dev));
 }
index 10c5a17b1f51ec33203e64df50282b7a85fde619..f1da68b82c63950c1efdbc78a6583017cef29189 100644 (file)
@@ -127,7 +127,7 @@ struct dma_map_ops {
        int is_phys;
 };
 
-extern struct dma_map_ops dma_noop_ops;
+extern const struct dma_map_ops dma_noop_ops;
 
 #define DMA_BIT_MASK(n)        (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
 
@@ -170,8 +170,8 @@ int dma_mmap_from_coherent(struct device *dev, struct vm_area_struct *vma,
  * dma dependent code.  Code that depends on the dma-mapping
  * API needs to set 'depends on HAS_DMA' in its Kconfig
  */
-extern struct dma_map_ops bad_dma_ops;
-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
+extern const struct dma_map_ops bad_dma_ops;
+static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
 {
        return &bad_dma_ops;
 }
@@ -182,7 +182,7 @@ static inline dma_addr_t dma_map_single_attrs(struct device *dev, void *ptr,
                                              enum dma_data_direction dir,
                                              unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        dma_addr_t addr;
 
        kmemcheck_mark_initialized(ptr, size);
@@ -201,7 +201,7 @@ static inline void dma_unmap_single_attrs(struct device *dev, dma_addr_t addr,
                                          enum dma_data_direction dir,
                                          unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!valid_dma_direction(dir));
        if (ops->unmap_page)
@@ -217,7 +217,7 @@ static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sg,
                                   int nents, enum dma_data_direction dir,
                                   unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        int i, ents;
        struct scatterlist *s;
 
@@ -235,7 +235,7 @@ static inline void dma_unmap_sg_attrs(struct device *dev, struct scatterlist *sg
                                      int nents, enum dma_data_direction dir,
                                      unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!valid_dma_direction(dir));
        debug_dma_unmap_sg(dev, sg, nents, dir);
@@ -249,7 +249,7 @@ static inline dma_addr_t dma_map_page_attrs(struct device *dev,
                                            enum dma_data_direction dir,
                                            unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        dma_addr_t addr;
 
        kmemcheck_mark_initialized(page_address(page) + offset, size);
@@ -265,7 +265,7 @@ static inline void dma_unmap_page_attrs(struct device *dev,
                                        enum dma_data_direction dir,
                                        unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!valid_dma_direction(dir));
        if (ops->unmap_page)
@@ -279,7 +279,7 @@ static inline dma_addr_t dma_map_resource(struct device *dev,
                                          enum dma_data_direction dir,
                                          unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        dma_addr_t addr;
 
        BUG_ON(!valid_dma_direction(dir));
@@ -300,7 +300,7 @@ static inline void dma_unmap_resource(struct device *dev, dma_addr_t addr,
                                      size_t size, enum dma_data_direction dir,
                                      unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!valid_dma_direction(dir));
        if (ops->unmap_resource)
@@ -312,7 +312,7 @@ static inline void dma_sync_single_for_cpu(struct device *dev, dma_addr_t addr,
                                           size_t size,
                                           enum dma_data_direction dir)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!valid_dma_direction(dir));
        if (ops->sync_single_for_cpu)
@@ -324,7 +324,7 @@ static inline void dma_sync_single_for_device(struct device *dev,
                                              dma_addr_t addr, size_t size,
                                              enum dma_data_direction dir)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!valid_dma_direction(dir));
        if (ops->sync_single_for_device)
@@ -364,7 +364,7 @@ static inline void
 dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
                    int nelems, enum dma_data_direction dir)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!valid_dma_direction(dir));
        if (ops->sync_sg_for_cpu)
@@ -376,7 +376,7 @@ static inline void
 dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
                       int nelems, enum dma_data_direction dir)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!valid_dma_direction(dir));
        if (ops->sync_sg_for_device)
@@ -421,7 +421,7 @@ static inline int
 dma_mmap_attrs(struct device *dev, struct vm_area_struct *vma, void *cpu_addr,
               dma_addr_t dma_addr, size_t size, unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        BUG_ON(!ops);
        if (ops->mmap)
                return ops->mmap(dev, vma, cpu_addr, dma_addr, size, attrs);
@@ -439,7 +439,7 @@ dma_get_sgtable_attrs(struct device *dev, struct sg_table *sgt, void *cpu_addr,
                      dma_addr_t dma_addr, size_t size,
                      unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        BUG_ON(!ops);
        if (ops->get_sgtable)
                return ops->get_sgtable(dev, sgt, cpu_addr, dma_addr, size,
@@ -457,7 +457,7 @@ static inline void *dma_alloc_attrs(struct device *dev, size_t size,
                                       dma_addr_t *dma_handle, gfp_t flag,
                                       unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
        void *cpu_addr;
 
        BUG_ON(!ops);
@@ -479,7 +479,7 @@ static inline void dma_free_attrs(struct device *dev, size_t size,
                                     void *cpu_addr, dma_addr_t dma_handle,
                                     unsigned long attrs)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        BUG_ON(!ops);
        WARN_ON(irqs_disabled());
@@ -537,7 +537,7 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
 #ifndef HAVE_ARCH_DMA_SUPPORTED
 static inline int dma_supported(struct device *dev, u64 mask)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        if (!ops)
                return 0;
@@ -550,7 +550,7 @@ static inline int dma_supported(struct device *dev, u64 mask)
 #ifndef HAVE_ARCH_DMA_SET_MASK
 static inline int dma_set_mask(struct device *dev, u64 mask)
 {
-       struct dma_map_ops *ops = get_dma_ops(dev);
+       const struct dma_map_ops *ops = get_dma_ops(dev);
 
        if (ops->set_dma_mask)
                return ops->set_dma_mask(dev, mask);
index 27d7c95fd0da0cf88ecb0d7c7a03c0b5c96e0fe4..504d54c71bdba2e9c4f8d1dc84d0d937cf31fcc4 100644 (file)
@@ -90,7 +90,7 @@ struct mbus_hw_ops {
 };
 
 struct mbus_device *
-mbus_register_device(struct device *pdev, int id, struct dma_map_ops *dma_ops,
+mbus_register_device(struct device *pdev, int id, const struct dma_map_ops *dma_ops,
                     struct mbus_hw_ops *hw_ops, int index,
                     void __iomem *mmio_va);
 void mbus_unregister_device(struct mbus_device *mbdev);
index 95251512e2c4cbffa40c61443a659607b90e81bd..44b587b49904f5f55f40a81a02d6464da8aafed3 100644 (file)
@@ -18,7 +18,7 @@ static inline enum paravirt_lazy_mode paravirt_get_lazy_mode(void)
        return PARAVIRT_LAZY_NONE;
 }
 
-extern struct dma_map_ops *xen_dma_ops;
+extern const struct dma_map_ops *xen_dma_ops;
 
 #ifdef CONFIG_XEN
 void __init xen_early_init(void);
index 3d766e78fbe26663e0de166fbe26d9b21b19ca89..65e49dd35b7b9d39b7b42b89d53295230be80b86 100644 (file)
@@ -64,7 +64,7 @@ static int dma_noop_supported(struct device *dev, u64 mask)
        return 1;
 }
 
-struct dma_map_ops dma_noop_ops = {
+const struct dma_map_ops dma_noop_ops = {
        .alloc                  = dma_noop_alloc,
        .free                   = dma_noop_free,
        .map_page               = dma_noop_map_page,