regmap: mmio: Fix MMIO accessors to avoid talking to IO port
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 8 Aug 2022 20:34:00 +0000 (23:34 +0300)
committerMark Brown <broonie@kernel.org>
Mon, 15 Aug 2022 00:20:11 +0000 (01:20 +0100)
commit7e7ba58c94127efa97c249e38cc2d1c0ed78b58f
treec94eec5beaa80d03d846bf4c26882a870e33acfe
parent93ce557679e1cf7742ad327d40a1499e7d8535b7
regmap: mmio: Fix MMIO accessors to avoid talking to IO port

Currently regmap MMIO is inconsistent with IO accessors. I.e.
the Big Endian counterparts are using ioreadXXbe() / iowriteXXbe()
which are not clean implementations of readXXbe().

That said, reimplement current Big Endian MMIO accessors by replacing
ioread()/iowrite() with respective read()/write() and swab() calls.

Note, there are no current in-kernel users that may utilize the
functionality of the IO ports on Big Endian hardware. All drivers
that use regmap MMIO either Little Endian, or they don't map IO
ports in a way that ioreadXX()/iowriteXX() may be utilized.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: William Breathitt Gray <william.gray@linaro.org>
Link: https://lore.kernel.org/r/20220808203401.35153-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap-mmio.c