From: Logan Gunthorpe <logang@deltatee.com>
To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
linux-ntb@googlegroups.com, linux-crypto@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>
Cc: "Arnd Bergmann" <arnd@arndb.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Andy Shevchenko" <andy.shevchenko@gmail.com>,
"Horia Geantă" <horia.geanta@nxp.com>,
"Logan Gunthorpe" <logang@deltatee.com>
Subject: [PATCH v17 0/7] Add io{read|write}64 to io-64-atomic headers
Date: Mon, 7 May 2018 14:35:58 -0600 [thread overview]
Message-ID: <20180507203605.15865-1-logang@deltatee.com> (raw)
This is a resend of my cleanup series to push a number of instances of
people defining their own io{read|write}64 functions into common
headers seing they don't exist in non-64bit systems. This series adds
inline functions to the io-64-nonatomic headers and then cleans up the
drivers that defined their own copies.
This cleanup was originally requested by Greg after he reviewed my
Switchtec NTB code.
@Andrew, can you please consider merging this series as it has a
number of cross-tree pieces? It has been around for a number of
cycles, has had some reviews, and a few small pieces of it have been
already accepted through various other trees.
Thanks,
Logan
--
Changes since v16:
- Rebased onto v4.17-rc4 (No Changes)
Changes since v15:
- Rebased onto v4.17-rc1, dropping the powerpc patches which were
picked up by Michael
Changes since v14:
- Rebased onto v4.16-rc7
- Replace the first two patches so that instead of correcting the
endianness annotations we change to using writeX() and readX() with
swabX() calls. This makes the big-endian functions more symmetric
with the little-endian versions (with respect to barriers that are
not included in the raw functions). As a side effect, it also fixes
the kbuild warnings that the first two patches tried to address.
Changes since v13:
- Changed the subject of patch 0001 to correct a nit pointed out by Luc
Changes since v12:
- Rebased onto v4.16-rc6
- Split patch 0001 into two and reworked the commit log as requested
by Luc Van Oostenryck
Changes since v11:
- Rebased onto v4.16-rc5
- Added a patch (0001) to fix some old and new sparse warnings
that the kbuild robot warned about this cycle. The latest version
of sparse was required to reproduce these.
- Added a patch (0002) to add io{read|write}64 to parisc which the kbuild
robot also found errors for this cycle
Changes since v10:
- Rebased onto v4.16-rc4, this droped the drm/tilcdc patch which was
picked up by that tree and is already in 4.16.
Changes since v9:
- Rebased onto v4.15-rc6
- Fixed a couple of issues in the new version of the CAAM patch as
pointed out by Horia
Changes since v8:
- Rebased onto v4.15-rc2, as a result rewrote patch 7 seeing someone did
some similar cleanup in that area.
- Added a patch to clean up the Switchtec NTB driver which landed in
v4.15-rc1
Changes since v7:
- Fix minor nits from Andy Shevchenko
- Rebased onto v4.14-rc1
Changes since v6:
** none **
Changes since v5:
- Added a fix to the tilcdc driver to ensure it doesn't use the
non-atomic operation. (This includes adding io{read|write}64[be]_is_nonatomic
defines).
Changes since v4:
- Add functions so the powerpc implementation of iomap.c compiles. (As
noticed by Horia)
Changes since v3:
- I noticed powerpc didn't use the appropriate functions seeing
readq/writeq were not defined when iomap.h was included. Thus I've
included a patch to adjust this
- Fixed some mistakes with a couple of the defines in io-64-nonatomic*
headers
- Fixed a typo noticed by Horia.
(earlier versions were drastically different)
Logan Gunthorpe (7):
iomap: Use non-raw io functions for io{read|write}XXbe
parisc: iomap: introduce io{read|write}64
iomap: introduce io{read|write}64_{lo_hi|hi_lo}
io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros
ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks
crypto: caam: cleanup CONFIG_64BIT ifdefs when using io{read|write}64
ntb: ntb_hw_switchtec: Cleanup 64bit IO defines to use the common
header
arch/parisc/include/asm/io.h | 9 +++
arch/parisc/lib/iomap.c | 64 +++++++++++++++
arch/powerpc/include/asm/io.h | 2 +
drivers/crypto/caam/regs.h | 30 +------
drivers/ntb/hw/intel/ntb_hw_intel.c | 30 +------
drivers/ntb/hw/mscc/ntb_hw_switchtec.c | 36 +--------
include/asm-generic/iomap.h | 26 ++++--
include/linux/io-64-nonatomic-hi-lo.h | 64 +++++++++++++++
include/linux/io-64-nonatomic-lo-hi.h | 64 +++++++++++++++
lib/iomap.c | 140 ++++++++++++++++++++++++++++++++-
10 files changed, 367 insertions(+), 98 deletions(-)
--
2.11.0
next reply other threads:[~2018-05-07 20:35 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-07 20:35 Logan Gunthorpe [this message]
2018-05-07 20:35 ` [PATCH v17 0/7] Add io{read|write}64 to io-64-atomic headers Logan Gunthorpe
2018-05-07 20:35 ` [PATCH v17 1/7] iomap: Use non-raw io functions for io{read|write}XXbe Logan Gunthorpe
2018-05-07 20:35 ` Logan Gunthorpe
2018-05-07 20:36 ` [PATCH v17 2/7] parisc: iomap: introduce io{read|write}64 Logan Gunthorpe
2018-05-07 20:36 ` Logan Gunthorpe
2018-05-07 20:36 ` [PATCH v17 3/7] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe
2018-05-07 20:36 ` Logan Gunthorpe
2018-05-07 20:36 ` [PATCH v17 4/7] io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros Logan Gunthorpe
2018-05-07 20:36 ` Logan Gunthorpe
2018-05-07 20:36 ` [PATCH v17 5/7] ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks Logan Gunthorpe
2018-05-07 20:36 ` Logan Gunthorpe
2018-05-07 20:36 ` [PATCH v17 6/7] crypto: caam: cleanup CONFIG_64BIT ifdefs when using io{read|write}64 Logan Gunthorpe
2018-05-07 20:36 ` Logan Gunthorpe
2018-05-07 20:36 ` [PATCH v17 7/7] ntb: ntb_hw_switchtec: Cleanup 64bit IO defines to use the common header Logan Gunthorpe
2018-05-07 20:36 ` Logan Gunthorpe
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=20180507203605.15865-1-logang@deltatee.com \
--to=logang@deltatee.com \
--cc=akpm@linux-foundation.org \
--cc=andy.shevchenko@gmail.com \
--cc=arnd@arndb.de \
--cc=gregkh@linuxfoundation.org \
--cc=horia.geanta@nxp.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-ntb@googlegroups.com \
/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