linux/arch/sh/mm
Krzysztof Kozlowski 00085f1efa 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>
2016-08-04 08:50:07 -04:00
..
alignment.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
asids-debugfs.c arch/sh/mm/asids-debugfs.c: use PTR_ERR_OR_ZERO 2014-08-06 18:01:12 -07:00
cache-debugfs.c sh: prefix sh-specific "CCR" and "CCR2" by "SH_" 2014-03-04 07:55:49 -08:00
cache-sh2.c sh: prefix sh-specific "CCR" and "CCR2" by "SH_" 2014-03-04 07:55:49 -08:00
cache-sh2a.c sh: prefix sh-specific "CCR" and "CCR2" by "SH_" 2014-03-04 07:55:49 -08:00
cache-sh3.c
cache-sh4.c mm: differentiate page_mapped() from page_mapcount() for compound pages 2016-01-15 17:56:32 -08:00
cache-sh5.c
cache-sh7705.c
cache-shx3.c sh: prefix sh-specific "CCR" and "CCR2" by "SH_" 2014-03-04 07:55:49 -08:00
cache.c mm: differentiate page_mapped() from page_mapcount() for compound pages 2016-01-15 17:56:32 -08:00
consistent.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
extable_32.c
extable_64.c
fault.c mm: do not pass mm_struct into handle_mm_fault 2016-07-26 16:19:19 -07:00
flush-sh4.c sh: fix up fallout from system.h disintegration. 2012-03-30 19:29:57 +09:00
gup.c mm/gup: Switch all callers of get_user_pages() to not pass tsk/mm 2016-02-16 10:11:12 +01:00
hugetlbpage.c mm: cleanup *pte_alloc* interfaces 2016-03-17 15:09:34 -07:00
init.c libnvdimm for 4.3: 2015-09-08 14:35:59 -07:00
ioremap_fixed.c
ioremap.c treewide: replace obsolete _refok by __ref 2016-08-02 17:31:41 -04:00
Kconfig memblock: kill "config MAX_ACTIVE_REGIONS" 2013-04-18 13:03:53 +10:00
kmap.c sched/preempt, sh: kmap_coherent relies on disabled preemption 2016-03-17 19:46:14 +00:00
Makefile sh64: Fix up caller-save register settings for fast-path. 2012-05-14 16:46:07 +09:00
mmap.c Merge branch 'akpm' (Andrew's patchbomb) 2012-12-11 18:05:37 -08:00
nommu.c
numa.c sh: use PFN_DOWN macro 2015-09-04 16:54:41 -07:00
pgtable.c sh: get rid of superfluous __GFP_REPEAT 2016-06-24 17:23:52 -07:00
pmb.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
sram.c sh: fix up fallout from system.h disintegration. 2012-03-30 19:29:57 +09:00
tlb-debugfs.c
tlb-pteaex.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
tlb-sh3.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
tlb-sh4.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
tlb-sh5.c sh: delete __cpuinit usage from all sh files 2013-07-14 19:36:53 -04:00
tlb-urb.c
tlbex_32.c sh: Enable shared page fault handler for _32/_64. 2012-05-14 15:33:28 +09:00
tlbex_64.c sh64: Set additional fault code values. 2012-05-14 17:46:49 +09:00
tlbflush_32.c
tlbflush_64.c sh64: Migrate to __update_tlb() API. 2012-05-14 15:52:28 +09:00
uncached.c