From: Thierry Reding <thierry.reding@gmail.com>
To: Arnd Bergmann <arnd@arndb.de>, Olof Johansson <olof@lixom.net>,
Fengguang Wu <fengguang.wu@intel.com>
Cc: Russell King <linux@arm.linux.org.uk>,
Catalin Marinas <catalin.marinas@arm.com>,
Stephen Boyd <sboyd@codeaurora.org>,
Sam Ravnborg <sam@ravnborg.org>,
linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
x86@kernel.org, linux-serial@vger.kernel.org,
linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v5 0/9] asm-generic/io.h overhaul
Date: Mon, 6 Oct 2014 15:52:32 +0200 [thread overview]
Message-ID: <1412603561-27653-1-git-send-email-thierry.reding@gmail.com> (raw)
From: Thierry Reding <treding@nvidia.com>
Hi,
Here is the fifth version of a series that started out as an attempt to
provide string versions of the read*() and write*() accessors to more
architectures so that drivers can use them portably. The series has
since evolved into a more general cleanup of asm-generic/io.h and the
functions defined therein.
Patch 1 is trivial and removes a redundant redefinition of PCI_IOBASE
from the asm/io.h header on ARC. Patches 2 and 3 remove unnecessary
volatile keywoards from some functions, which is a prerequisite to clean
up some of the functions in subsequent patches.
The xlate_dev_{kmem,mem}_ptr() functions are used to map memory when the
/dev/mem device is accessed. Patches 4 and 5 use more consistent data
types for these functions, which will get a "standard" prototype in the
asm-generic/io.h header in a subsequent patch.
Patch 6 is the bulk of this series. It cleans up various parts of the
asm-generic/io.h header file. Macros are converted to static inline
functions for better type checking. Overriding generic implementations
in architectures is handled more consistently.
Patch 7 implements the string variants of the read*() and write*()
accessors.
Patches 8 and 9, finally, make use of the asm-generic/io.h header on the
32-bit and 64-bit ARM architectures.
This is compile- and runtime-tested on 32-bit and 64-bit ARM and compile
tested on IA64, Microblaze, s390, SPARC, x86 and Xtensa. For ARC,
Blackfin, Metag, OpenRISC, Score and Unicore32 which also use
asm-generic/io.h I couldn't find or build a cross-compiler that would
run on my system. But by code inspection they shouldn't break with this
patch.
I'm sending this to Olof and Fengguang in the hopes that they can help
in getting more compile coverage of the series. I've uploaded the series
to a branch here[0]. Are there instructions somewhere on how to submit a
branch to your builder? If possible it would also be nice to get the
series tested for possible bisectability issues.
[0]: https://github.com/thierryreding/linux.git#asm-generic-io
Thierry
Thierry Reding (8):
ARC: Remove redundant PCI_IOBASE declaration
serial: sunzilog: Remove unnecessary volatile keyword
sparc: Remove unnecessary volatile usage
[IA64] Change xlate_dev_{kmem,mem}_ptr() prototypes
/dev/mem: Use more consistent data types
asm-generic/io.h: Implement generic {read,write}s*()
ARM: Use include/asm-generic/io.h
arm64: Use include/asm-generic/io.h
arch/arc/include/asm/io.h | 2 -
arch/arm/include/asm/io.h | 75 ++---
arch/arm/include/asm/memory.h | 2 +
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/io.h | 122 ++-----
arch/arm64/include/asm/memory.h | 2 +
arch/ia64/include/asm/uaccess.h | 16 +-
arch/s390/include/asm/io.h | 5 +-
arch/s390/mm/maccess.c | 4 +-
arch/sparc/include/asm/io_32.h | 18 +-
arch/x86/include/asm/io.h | 4 +-
arch/x86/mm/ioremap.c | 4 +-
drivers/char/mem.c | 13 +-
drivers/tty/serial/sunzilog.h | 8 +-
include/asm-generic/io.h | 683 ++++++++++++++++++++++++++++++++--------
15 files changed, 647 insertions(+), 312 deletions(-)
--
2.0.4
next reply other threads:[~2014-10-06 13:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-06 13:52 Thierry Reding [this message]
2014-10-06 13:52 ` [PATCH 1/9] ARC: Remove redundant PCI_IOBASE declaration Thierry Reding
2014-10-06 13:52 ` Thierry Reding
2014-10-06 13:52 ` [PATCH 2/9] ARM: ebsa110: Properly override I/O accessors Thierry Reding
2014-10-06 13:52 ` Thierry Reding
2014-10-06 13:52 ` [PATCH 3/9] ARM: ixp4xx: " Thierry Reding
2014-10-06 13:52 ` Thierry Reding
2014-10-06 13:52 ` [PATCH 4/9] [IA64] Change xlate_dev_{kmem,mem}_ptr() prototypes Thierry Reding
2014-10-06 13:52 ` Thierry Reding
2014-10-06 13:52 ` [PATCH 5/9] /dev/mem: Use more consistent data types Thierry Reding
2014-10-06 13:52 ` Thierry Reding
2014-10-06 13:52 ` [PATCH 6/9] asm-generic/io.h: Reconcile I/O accessor overrides Thierry Reding
2014-10-06 13:52 ` Thierry Reding
2014-10-06 13:52 ` [PATCH 7/9] asm-generic/io.h: Implement generic {read,write}s*() Thierry Reding
2014-10-06 13:52 ` Thierry Reding
2014-10-06 13:52 ` [PATCH 8/9] ARM: Use include/asm-generic/io.h Thierry Reding
2014-10-06 13:52 ` [PATCH 9/9] arm64: " Thierry Reding
2014-10-06 13:52 ` Thierry Reding
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1412603561-27653-1-git-send-email-thierry.reding@gmail.com \
--to=thierry.reding@gmail.com \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=fengguang.wu@intel.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=olof@lixom.net \
--cc=sam@ravnborg.org \
--cc=sboyd@codeaurora.org \
--cc=sparclinux@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).