From b099f1eb0b330487fcc77e8a991919608fd07189 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Wed, 22 Jun 2022 18:17:23 +0100 Subject: [PATCH] UPSTREAM: regmap: Don't warn about cache only mode for devices with no cache For devices with no cache it can make sense to use cache only mode as a mechanism for trapping writes to hardware which is inaccessible but since no cache is equivalent to cache bypass we force such devices into bypass mode. This means that our check that bypass and cache only mode aren't both enabled simultanously is less sensible for devices without a cache so relax it. Signed-off-by: Mark Brown Link: https://lore.kernel.org/r/20220622171723.1235749-1-broonie@kernel.org Signed-off-by: Mark Brown Bug: 274730214 Change-Id: I85f9ba5343f28b24c2b0588e8a1487d31b654283 (cherry picked from commit 3d0afe9cf1ef871a71596f990d7d2e60cc0b8669) Signed-off-by: Chunyan Zhang --- drivers/base/regmap/regcache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index f2469d3435ca..c4e03b4cf285 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -495,7 +495,8 @@ EXPORT_SYMBOL_GPL(regcache_drop_region); void regcache_cache_only(struct regmap *map, bool enable) { map->lock(map->lock_arg); - WARN_ON(map->cache_bypass && enable); + WARN_ON(map->cache_type != REGCACHE_NONE && + map->cache_bypass && enable); map->cache_only = enable; trace_regmap_cache_only(map, enable); map->unlock(map->lock_arg);