Thread (24 messages) 24 messages, 4 authors, 2015-07-23

[PATCH 05/10] arch: unify ioremap prototypes and macro aliases

From: hch@lst.de (Christoph Hellwig)
Date: 2015-07-21 13:35:03
Also in: linux-arch, lkml

On Sun, Jul 19, 2015 at 08:18:00PM -0400, Dan Williams wrote:
Some archs define the first parameter to ioremap() as unsigned long,
while the balance define it as resource_size_t, similar confusion exists
for the type of the 'size' parameter.  Unify on (resource_size_t,
unsigned long) to enable passing ioremap function pointers.  Also, some
archs use function-like macros for defining ioremap aliases, but
asm-generic/io.h expects object-like macros, unify on the latter.

Move all handling of ioremap aliasing (i.e. ioremap_wt => ioremap) to
include/linux/io.h.  Add a check to lib/devres.c to warn at compile time
if an arch violates type expectations.
I don't think devres really has aything to do with this code.
Kill ARCH_HAS_IOREMAP_WC and ARCH_HAS_IOREMAP_WT in favor of just
testing for ioremap_wc, and ioremap_wt being defined.  This arrangement
allows drivers to know when ioremap_<foo> are being re-directed to plain
ioremap.  A later patch uses this arrangement to implement support for
strict mappings.

Acked-by: Christoph Hellwig <hch@lst.de>
I only ACKed this as a band-aid to get the pmem code in.  Now that
we got that in with a less invasive hack I don't see any reasons to
do this over doing the proper common prototypes and per-arch runtime checks
of flags variant.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help