The patch titled Subject: ARM: dma-mapping: constify attrs passed to internal functions has been added to the -mm tree. Its filename is arm-dma-mapping-constify-attrs-passed-to-internal-functions.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/arm-dma-mapping-constify-attrs-passed-to-internal-functions.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/arm-dma-mapping-constify-attrs-passed-to-internal-functions.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Subject: ARM: dma-mapping: constify attrs passed to internal functions Some of the non-exported functions do not modify passed dma_attrs so the pointer can point to const data. Link: http://lkml.kernel.org/r/1464071290-15948-3-git-send-email-k.kozlowski@xxxxxxxxxxx Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Joerg Roedel <joro@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/arm/mm/dma-mapping.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff -puN arch/arm/mm/dma-mapping.c~arm-dma-mapping-constify-attrs-passed-to-internal-functions arch/arm/mm/dma-mapping.c --- a/arch/arm/mm/dma-mapping.c~arm-dma-mapping-constify-attrs-passed-to-internal-functions +++ a/arch/arm/mm/dma-mapping.c @@ -621,7 +621,7 @@ static void __free_from_contiguous(struc dma_release_from_contiguous(dev, page, size >> PAGE_SHIFT); } -static inline pgprot_t __get_dma_pgprot(struct dma_attrs *attrs, pgprot_t prot) +static inline pgprot_t __get_dma_pgprot(const struct dma_attrs *attrs, pgprot_t prot) { prot = dma_get_attr(DMA_ATTR_WRITE_COMBINE, attrs) ? pgprot_writecombine(prot) : @@ -732,7 +732,7 @@ static struct arm_dma_allocator remap_al static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp, pgprot_t prot, bool is_coherent, - struct dma_attrs *attrs, const void *caller) + const struct dma_attrs *attrs, const void *caller) { u64 mask = get_coherent_dma_mask(dev); struct page *page = NULL; @@ -878,7 +878,7 @@ int arm_dma_mmap(struct device *dev, str * Free a buffer as defined by the above mapping. */ static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr, - dma_addr_t handle, struct dma_attrs *attrs, + dma_addr_t handle, const struct dma_attrs *attrs, bool is_coherent) { struct page *page = pfn_to_page(dma_to_pfn(dev, handle)); @@ -1253,7 +1253,8 @@ static inline void __free_iova(struct dm static const int iommu_order_array[] = { 9, 8, 4, 0 }; static struct page **__iommu_alloc_buffer(struct device *dev, size_t size, - gfp_t gfp, struct dma_attrs *attrs) + gfp_t gfp, + const struct dma_attrs *attrs) { struct page **pages; int count = size >> PAGE_SHIFT; @@ -1342,7 +1343,7 @@ error: } static int __iommu_free_buffer(struct device *dev, struct page **pages, - size_t size, struct dma_attrs *attrs) + size_t size, const struct dma_attrs *attrs) { int count = size >> PAGE_SHIFT; int i; @@ -1439,7 +1440,8 @@ static struct page **__atomic_get_pages( return (struct page **)page; } -static struct page **__iommu_get_pages(void *cpu_addr, struct dma_attrs *attrs) +static struct page **__iommu_get_pages(void *cpu_addr, + const struct dma_attrs *attrs) { struct vm_struct *area; @@ -1633,8 +1635,8 @@ static int __dma_direction_to_prot(enum */ static int __map_sg_chunk(struct device *dev, struct scatterlist *sg, size_t size, dma_addr_t *handle, - enum dma_data_direction dir, struct dma_attrs *attrs, - bool is_coherent) + enum dma_data_direction dir, + const struct dma_attrs *attrs, bool is_coherent) { struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev); dma_addr_t iova, iova_base; @@ -1676,8 +1678,8 @@ fail: } static int __iommu_map_sg(struct device *dev, struct scatterlist *sg, int nents, - enum dma_data_direction dir, struct dma_attrs *attrs, - bool is_coherent) + enum dma_data_direction dir, + const struct dma_attrs *attrs, bool is_coherent) { struct scatterlist *s = sg, *dma = sg, *start = sg; int i, count = 0; @@ -1758,8 +1760,8 @@ int arm_iommu_map_sg(struct device *dev, } static void __iommu_unmap_sg(struct device *dev, struct scatterlist *sg, - int nents, enum dma_data_direction dir, struct dma_attrs *attrs, - bool is_coherent) + int nents, enum dma_data_direction dir, + const struct dma_attrs *attrs, bool is_coherent) { struct scatterlist *s; int i; _ Patches currently in -mm which might be from k.kozlowski@xxxxxxxxxxx are dma-mapping-constify-attrs-passed-to-dma_get_attr.patch arm-dma-mapping-constify-attrs-passed-to-internal-functions.patch arm64-dma-mapping-constify-attrs-passed-to-internal-functions.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html