linux/arch/xtensa
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
..
boot xtensa: xtfpga: add audio card to xtfpga DTS 2015-02-07 11:21:39 +03:00
configs xtensa: xtfpga: provide defconfig with audio subsystem 2015-02-07 12:52:12 +03:00
include arch: introduce memremap() 2015-08-14 13:23:28 -04:00
kernel Xtensa changes and fixes for 4.1 2015-04-17 15:32:30 -04:00
lib
mm mm/fault, arch: Use pagefault_disable() to check for disabled pagefaults in the handler 2015-05-19 08:39:15 +02:00
oprofile
platforms xtensa: don't use module_init for non-modular core network.c code 2015-06-16 14:12:31 -04:00
variants xtensa: remove s6000 variant and s6105 platform 2014-10-21 13:29:01 +04:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-06-23 14:08:54 -07:00
Kconfig.debug xtensa: disable link optimization 2014-12-15 23:47:24 -08:00
Makefile xtensa: remove s6000 variant and s6105 platform 2014-10-21 13:29:01 +04:00