dma-mapping: use unsigned long for dma_attrs
The dma-mapping core and the implementations do not change the DMA attributes passed by pointer. Thus the pointer can point to const data. However the attributes do not have to be a bitfield. Instead unsigned long will do fine: 1. This is just simpler. Both in terms of reading the code and setting attributes. Instead of initializing local attributes on the stack and passing pointer to it to dma_set_attr(), just set the bits. 2. It brings safeness and checking for const correctness because the attributes are passed by value. Semantic patches for this change (at least most of them): virtual patch virtual context @r@ identifier f, attrs; @@ f(..., - struct dma_attrs *attrs + unsigned long attrs , ...) { ... } @@ identifier r.f; @@ f(..., - NULL + 0 ) and // Options: --all-includes virtual patch virtual context @r@ identifier f, attrs; type t; @@ t f(..., struct dma_attrs *attrs); @@ identifier r.f; @@ f(..., - NULL + 0 ) Link: http://lkml.kernel.org/r/1468399300-5399-2-git-send-email-k.kozlowski@samsung.com Signed-off-by:Krzysztof Kozlowski <k.kozlowski@samsung.com> Acked-by:
Vineet Gupta <vgupta@synopsys.com> Acked-by:
Robin Murphy <robin.murphy@arm.com> Acked-by:
Hans-Christian Noren Egtvedt <egtvedt@samfundet.no> Acked-by: Mark Salter <msalter@redhat.com> [c6x] Acked-by: Jesper Nilsson <jesper.nilsson@axis.com> [cris] Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> [drm] Reviewed-by:
Bart Van Assche <bart.vanassche@sandisk.com> Acked-by: Joerg Roedel <jroedel@suse.de> [iommu] Acked-by: Fabien Dessenne <fabien.dessenne@st.com> [bdisp] Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com> [vb2-core] Acked-by: David Vrabel <david.vrabel@citrix.com> [xen] Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> [xen swiotlb] Acked-by: Joerg Roedel <jroedel@suse.de> [iommu] Acked-by: Richard Kuo <rkuo@codeaurora.org> [hexagon] Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> [m68k] Acked-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> [s390] Acked-by:
Bjorn Andersson <bjorn.andersson@linaro.org> Acked-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no> [avr32] Acked-by: Vineet Gupta <vgupta@synopsys.com> [arc] Acked-by: Robin Murphy <robin.murphy@arm.com> [arm64 and dma-iommu] Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
Showing
- Documentation/DMA-API.txt 14 additions, 19 deletionsDocumentation/DMA-API.txt
- Documentation/DMA-attributes.txt 1 addition, 1 deletionDocumentation/DMA-attributes.txt
- arch/alpha/include/asm/dma-mapping.h 0 additions, 2 deletionsarch/alpha/include/asm/dma-mapping.h
- arch/alpha/kernel/pci-noop.c 1 addition, 1 deletionarch/alpha/kernel/pci-noop.c
- arch/alpha/kernel/pci_iommu.c 6 additions, 6 deletionsarch/alpha/kernel/pci_iommu.c
- arch/arc/mm/dma.c 6 additions, 6 deletionsarch/arc/mm/dma.c
- arch/arm/common/dmabounce.c 2 additions, 2 deletionsarch/arm/common/dmabounce.c
- arch/arm/include/asm/dma-mapping.h 6 additions, 7 deletionsarch/arm/include/asm/dma-mapping.h
- arch/arm/include/asm/xen/page-coherent.h 6 additions, 10 deletionsarch/arm/include/asm/xen/page-coherent.h
- arch/arm/mm/dma-mapping.c 63 additions, 66 deletionsarch/arm/mm/dma-mapping.c
- arch/arm/xen/mm.c 4 additions, 4 deletionsarch/arm/xen/mm.c
- arch/arm64/mm/dma-mapping.c 33 additions, 33 deletionsarch/arm64/mm/dma-mapping.c
- arch/avr32/mm/dma-coherent.c 6 additions, 6 deletionsarch/avr32/mm/dma-coherent.c
- arch/blackfin/kernel/dma-mapping.c 4 additions, 4 deletionsarch/blackfin/kernel/dma-mapping.c
- arch/c6x/include/asm/dma-mapping.h 2 additions, 2 deletionsarch/c6x/include/asm/dma-mapping.h
- arch/c6x/kernel/dma.c 4 additions, 5 deletionsarch/c6x/kernel/dma.c
- arch/c6x/mm/dma-coherent.c 2 additions, 2 deletionsarch/c6x/mm/dma-coherent.c
- arch/cris/arch-v32/drivers/pci/dma.c 4 additions, 5 deletionsarch/cris/arch-v32/drivers/pci/dma.c
- arch/frv/mb93090-mb00/pci-dma-nommu.c 4 additions, 4 deletionsarch/frv/mb93090-mb00/pci-dma-nommu.c
- arch/frv/mb93090-mb00/pci-dma.c 4 additions, 5 deletionsarch/frv/mb93090-mb00/pci-dma.c
Loading
Please register or sign in to comment