Re: [PATCH v1 5/5] regmap: mmio: Introduce IO accessors that can talk to IO port

From: Mark Brown
Date: Mon Aug 08 2022 - 09:18:33 EST


On Fri, Aug 05, 2022 at 11:53:21PM +0300, Andy Shevchenko wrote:

> 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(). Besides that
> some users may use regmap MMIO for IO ports, and this can be done
> by assigning ioreadXX()/iowriteXX() and their Big Endian counterparts
> to the regmap context.

Have you validated that nothing is relying on whatever the problem is
with using the io versions?

> That said, reimplement current Big Endian MMIO accessors by replacing
> ioread()/iowrite() with respective read()/write() and swab() calls.
> While at it, add IO port support with a corresponding flag added.

This should be a separate patch.

> + if (config->io_port) {
> + ctx->reg_read = regmap_mmio_ioread8;
> + ctx->reg_write = regmap_mmio_iowrite8;
> + } else if (config->use_relaxed_mmio) {

If these options are mutually exclusive we should validate that they are
not simultaneously set.

Attachment: signature.asc
Description: PGP signature