public inbox for linux-arch@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v12 0/9] Add io{read|write}64 to io-64-atomic headers
@ 2018-03-16 15:48 Logan Gunthorpe
  2018-03-16 15:48 ` Logan Gunthorpe
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Logan Gunthorpe @ 2018-03-16 15:48 UTC (permalink / raw)
  To: linux-kernel, linux-arch, linux-ntb, linux-crypto,
	Greg Kroah-Hartman
  Cc: Arnd Bergmann, Andy Shevchenko, Horia Geantă,
	Logan Gunthorpe

This is v12 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. And I hope someone can pick it up or at least give
feedback on it soon as it's been around relatively unchanged for a few
cycles now and I'm getting a bit tired of resubmitting it with little to
no interest.

Thanks,

Logan

--

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 (9):
  iomap: Fix sparse endian check warnings
  parisc: iomap: introduce io{read|write}64
  powerpc: io.h: move iomap.h include so that it can use readq/writeq
    defs
  powerpc: iomap.c: introduce io{read|write}64_{lo_hi|hi_lo}
  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          |   6 +-
 arch/powerpc/kernel/iomap.c            |  40 +++++++++
 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                            | 143 ++++++++++++++++++++++++++++++++-
 11 files changed, 412 insertions(+), 100 deletions(-)

--
2.11.0

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2018-03-19 20:38 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-16 15:48 [PATCH v12 0/9] Add io{read|write}64 to io-64-atomic headers Logan Gunthorpe
2018-03-16 15:48 ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 1/9] iomap: Fix sparse endian check warnings Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe
2018-03-18 16:13   ` Luc Van Oostenryck
2018-03-18 16:13     ` Luc Van Oostenryck
2018-03-19 20:38     ` Logan Gunthorpe
2018-03-19 20:38       ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 2/9] parisc: iomap: introduce io{read|write}64 Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 3/9] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 4/9] powerpc: iomap.c: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 5/9] iomap: " Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 6/9] io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 7/9] ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 8/9] crypto: caam: cleanup CONFIG_64BIT ifdefs when using io{read|write}64 Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe
2018-03-16 15:48 ` [PATCH v12 9/9] ntb: ntb_hw_switchtec: Cleanup 64bit IO defines to use the common header Logan Gunthorpe
2018-03-16 15:48   ` Logan Gunthorpe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox