regmap: Support accelerated noinc operations
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 16 Aug 2022 20:48:31 +0000 (22:48 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 17 Aug 2022 12:00:31 +0000 (13:00 +0100)
commitc20cc099b30abd50f563e422aa72edcd7f92da55
tree4a458d603d07a8b82dd328ca2a7360093a759a3f
parent77672e0387f90153e3c7ee89456d16dcacfef6d2
regmap: Support accelerated noinc operations

Several architectures have accelerated operations for MMIO
operations writing to a single register, such as writesb, writesw,
writesl, writesq, readsb, readsw, readsl and readsq but regmap
currently cannot use them because we have no hooks for providing
an accelerated noinc back-end for MMIO.

Solve this by providing reg_[read/write]_noinc callbacks for
the bus abstraction, so that the regmap-mmio bus can use this.

Currently I do not see a need to support this for custom regmaps
so it is only added to the bus.

Callbacks are passed a void * with the array of values and a
count which is the number of items of the byte chunk size for
the specific register width.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220816204832.265837-1-linus.walleij@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap.c
include/linux/regmap.h