OSDN Git Service

regmap: allow a defined reg_base to be added to every address
authorColin Foster <colin.foster@in-advantage.com>
Sun, 13 Mar 2022 22:45:24 +0000 (15:45 -0700)
committerMark Brown <broonie@kernel.org>
Fri, 18 Mar 2022 16:53:19 +0000 (16:53 +0000)
commit0074f3f2b1e43d3cedd97e47fb6980db6d2ba79e
treebc31c30f65706f89a436cb67d8549a46b77db497
parent86fc59ef818beb0e1945d17f8e734898baba7e4e
regmap: allow a defined reg_base to be added to every address

There's an inconsistency that arises when a register set can be accessed
internally via MMIO, or externally via SPI. The VSC7514 chip allows both
modes of operation. When internally accessed, the system utilizes __iomem,
devm_ioremap_resource, and devm_regmap_init_mmio.

For SPI it isn't possible to utilize memory-mapped IO. To properly operate,
the resource base must be added to the register before every operation.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Link: https://lore.kernel.org/r/20220313224524.399947-3-colin.foster@in-advantage.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/internal.h
drivers/base/regmap/regmap.c
include/linux/regmap.h