On Wed, Mar 21, 2018 at 6:37 PM, Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > > This is v13 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. > The first patches that I didn't reviewed before makes sense to me, the rest (at the end) FWIW, Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Thanks, > > Logan > > -- > > 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 (10): > iomap: Use correct endian conversion function in mmio_writeXXbe > 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 | 140 ++++++++++++++++++++++++++++++++- > 11 files changed, 409 insertions(+), 100 deletions(-) > > -- > 2.11.0 -- With Best Regards, Andy Shevchenko