[PATCH 0/2] iio: magnetometer: fix the register restore on resume in mmc35240 and mmc5633

From: Shashank Mohan Jain

Date: Sun Oct 11 2026 - 01:20:40 EST


The resume callbacks of mmc35240 and mmc5633 call
regcache_sync_region() before they take the regmap out of cache-only
mode. Since v7.3-rc1 regmap refuses a sync in cache-only mode with a
WARN and -EINVAL (86fc3483a4d6 and afc8e3ee8307), so both drivers now
warn on every resume and no longer restore their control registers.

The kernel-doc added by 86fc3483a4d6 says that the caller has to
disable cache-only mode before the sync, so the two patches change the
order in the drivers.

The Fixes tags name the regcache commit, because that is where the
behaviour changed: the drivers have used this order since their resume
callbacks were added, and it worked until v7.2. Please tell me if you
would rather have the driver commits there.

I have no hardware for either chip. The patches were tested in qemu
with the drivers bound to an i2c-stub device and a suspend/resume
cycle through /sys/power/pm_test; the details are in the changelogs.
A scan of drivers/ and sound/ for other resume paths which sync before
leaving cache-only mode in the same function found only these two.

Based on mainline (a5ebb76233b7, v7.3-rc6+); the patches also apply
to next-20261009.

Shashank Mohan Jain (2):
iio: magnetometer: mmc35240: leave cache-only mode before the cache
sync
iio: magnetometer: mmc5633: leave cache-only mode before the cache
sync

drivers/iio/magnetometer/mmc35240.c | 3 +--
drivers/iio/magnetometer/mmc5633.c | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)


base-commit: a5ebb76233b79db01e82e061173cb73c6d2b5c6b
--
2.43.0