This is just a resend seeing I've gotten no feedback in a couple weeks. 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) Horia Geantă (1): crypto: caam: cleanup CONFIG_64BIT ifdefs when using io{read|write}64 Logan Gunthorpe (6): drm/tilcdc: ensure nonatomic iowrite64 is not used 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 arch/powerpc/include/asm/io.h | 6 +- arch/powerpc/kernel/iomap.c | 40 +++++++++++ drivers/crypto/caam/regs.h | 35 ++------- drivers/gpu/drm/tilcdc/tilcdc_regs.h | 2 +- drivers/ntb/hw/intel/ntb_hw_intel.c | 30 +------- 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 | 132 ++++++++++++++++++++++++++++++++++ 9 files changed, 331 insertions(+), 68 deletions(-) -- 2.11.0