[GIT PULL] regmap updates for v6.5

From: Mark Brown
Date: Mon Jun 26 2023 - 09:33:14 EST


The following changes since commit 858fd168a95c5b9669aac8db6c14a9aeab446375:

Linux 6.4-rc6 (2023-06-11 14:35:30 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git tags/regmap-v6.5

for you to fetch changes up to d0c99ffe212679b338d12fe283964e6e43ce1501:

regmap: Allow reads from write only registers with the flat cache (2023-06-19 12:59:41 +0100)

----------------------------------------------------------------
regmap: Updates for v6.5

Another busy release for regmap with the second half fo the maple tree
register cache implementation, there's some smaller optimisations that
could be done but this should now be able to replace the rbtree cache
for most devices.

We also had a followup from Aidan MacDonald's refactoring of some of the
regmap-irq interfaces, the conversion is complete so the old interfaces
are removed. This means that even with the new features for the maple
tree cache we'd have a nice negative diffstat were it not for the
addition of a bunch more KUnit coverage.

There's one GPIO patch in here, it was a dependency for a cleanup of an
API in the regmap-irq code for which the gpio-104-dio-48e driver was the
only user.

Highlights:

- The maple tree cache can now load in default values more efficiently,
and is capabale of syncing multiple registers in a single write
during cache sync.
- More KUnit coverage, including some coverage for raw I/O and a dummy
RAM backed cache to support it.
- Removal of several old interfaces in regmap-irq now all the users
have been modernised.

----------------------------------------------------------------
Aidan MacDonald (6):
regmap-irq: Fix typo in documentation for .get_irq_reg()
regmap-irq: Remove virtual registers
regmap-irq: Remove type registers
regmap-irq: Remove support for not_fixed_stride
regmap-irq: Minor adjustments to .handle_mask_sync()
regmap-irq: Drop backward compatibility for inverted mask/unmask

Charles Keepax (2):
regmap: regmap-irq: Move handle_post_irq to before pm_runtime_put
regmap: Add missing cache_only checks

Mark Brown (16):
regmap-irq: Cleanups and remove unused
regmap: Merge up v6.4-rc3
regmap: Load register defaults in blocks rather than register by register
regmap: Provide a ram backed regmap with raw support
regmap: Provide basic KUnit coverage for the raw register I/O
regmap: Merge up v6.4-rc6
regmap: maple: Implement block sync for the maple tree cache
regmap: Don't check for changes in regcache_set_val()
regmap: Provide basic test coverage for raw I/O
regmap: Add test that writes to write only registers are prevented
regmap: Add a test case for write only registers
regmap: Add test to make sure we don't sync to read only registers
regmap: Check for register readability before checking cache during read
regmap: Add KUnit tests for read/write checking
regmap: Drop early readability check
regmap: Allow reads from write only registers with the flat cache

Maxime Chevallier (1):
regmap: mmio: Allow passing an empty config->reg_stride

Waqar Hameed (1):
regmap: Add debugfs file for forcing field writes

William Breathitt Gray (2):
gpio: 104-dio-48e: Implement struct dio48e_gpio
regmap-irq: Drop map from handle_mask_sync() parameters

drivers/base/regmap/Makefile | 2 +-
drivers/base/regmap/internal.h | 15 +-
drivers/base/regmap/regcache-maple.c | 140 ++++++++++-
drivers/base/regmap/regcache.c | 12 +-
drivers/base/regmap/regmap-debugfs.c | 11 +
drivers/base/regmap/regmap-irq.c | 273 ++++-----------------
drivers/base/regmap/regmap-kunit.c | 451 +++++++++++++++++++++++++++++++++++
drivers/base/regmap/regmap-mmio.c | 2 +-
drivers/base/regmap/regmap-raw-ram.c | 133 +++++++++++
drivers/base/regmap/regmap.c | 28 ++-
drivers/gpio/gpio-104-dio-48e.c | 37 ++-
include/linux/regmap.h | 33 +--
12 files changed, 835 insertions(+), 302 deletions(-)
create mode 100644 drivers/base/regmap/regmap-raw-ram.c