linux/arch/sh/include
Dan Williams 92281dee82 arch: introduce memremap()
Existing users of ioremap_cache() are mapping memory that is known in
advance to not have i/o side effects.  These users are forced to cast
away the __iomem annotation, or otherwise neglect to fix the sparse
errors thrown when dereferencing pointers to this memory.  Provide
memremap() as a non __iomem annotated ioremap_*() in the case when
ioremap is otherwise a pointer to cacheable memory. Empirically,
ioremap_<cacheable-type>() call sites are seeking memory-like semantics
(e.g.  speculative reads, and prefetching permitted).

memremap() is a break from the ioremap implementation pattern of adding
a new memremap_<type>() for each mapping type and having silent
compatibility fall backs.  Instead, the implementation defines flags
that are passed to the central memremap() and if a mapping type is not
supported by an arch memremap returns NULL.

We introduce a memremap prototype as a trivial wrapper of
ioremap_cache() and ioremap_wt().  Later, once all ioremap_cache() and
ioremap_wt() usage has been removed from drivers we teach archs to
implement arch_memremap() with the ability to strictly enforce the
mapping type.

Cc: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2015-08-14 13:23:28 -04:00
..
asm arch: introduce memremap() 2015-08-14 13:23:28 -04:00
cpu-common/cpu sh: Remove unused sh_pfc_register_info() function 2013-01-25 09:24:30 +09:00
cpu-sh2/cpu sh: prefix sh-specific "CCR" and "CCR2" by "SH_" 2014-03-04 07:55:49 -08:00
cpu-sh2a/cpu sh: prefix sh-specific "CCR" and "CCR2" by "SH_" 2014-03-04 07:55:49 -08:00
cpu-sh3/cpu sh: prefix sh-specific "CCR" and "CCR2" by "SH_" 2014-03-04 07:55:49 -08:00
cpu-sh4/cpu sh: remove CPU_SUBTYPE_SH7764 2014-08-06 18:01:12 -07:00
cpu-sh4a/cpu sh: remove CPU_SUBTYPE_SH7764 2014-08-06 18:01:12 -07:00
cpu-sh5/cpu sh: Tidy up some of the cpu legacy dma header mess. 2012-05-19 18:30:31 +09:00
mach-common/mach sh: legacy PCI evt2irq migration. 2012-05-18 17:42:29 +09:00
mach-dreamcast/mach sh: Kill off MAX_DMA_ADDRESS leftovers. 2012-05-19 18:50:09 +09:00
mach-ecovec24/mach UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
mach-kfr2r09/mach sh: kfr2r09: Use lv5207lp backlight 2013-07-17 10:06:18 +09:00
mach-landisk/mach sh: landisk evt2irq migration. 2012-05-18 16:51:36 +09:00
mach-migor/mach fbdev: sh_mobile_lcdc: Remove board configuration board_data field 2012-03-12 22:40:49 +01:00
mach-sdk7786/mach sh: mach-sdk7786: Handle baseboard NMI source selection. 2010-12-17 18:58:04 +09:00
mach-se/mach Merge branch 'sh/dynamic-irq-cleanup' into sh-latest 2012-06-13 12:12:41 +09:00
mach-sh03/mach
mach-x3proto/mach sh: mach-x3proto: Support for baseboard GPIOs. 2010-10-04 02:59:29 +09:00
uapi/asm sh/uapi: Add definition of TIOC[SG]RS485 2014-09-09 22:36:40 -07:00