|
Jiri Slaby |
c5b460 |
From: Alexander Stein <alexander.stein@ew.tq-group.com>
|
|
Jiri Slaby |
c5b460 |
Date: Mon, 13 Mar 2023 08:18:11 +0100
|
|
Jiri Slaby |
c5b460 |
Subject: [PATCH] regmap: cache: Return error in cache sync operations for
|
|
Jiri Slaby |
c5b460 |
REGCACHE_NONE
|
|
Jiri Slaby |
c5b460 |
References: bsc#1012628
|
|
Jiri Slaby |
c5b460 |
Patch-mainline: 6.3.4
|
|
Jiri Slaby |
c5b460 |
Git-commit: fd883d79e4dcd2417c2b80756f22a2ff03b0f6e0
|
|
Jiri Slaby |
c5b460 |
|
|
Jiri Slaby |
c5b460 |
[ Upstream commit fd883d79e4dcd2417c2b80756f22a2ff03b0f6e0 ]
|
|
Jiri Slaby |
c5b460 |
|
|
Jiri Slaby |
c5b460 |
There is no sense in doing a cache sync on REGCACHE_NONE regmaps.
|
|
Jiri Slaby |
c5b460 |
Instead of panicking the kernel due to missing cache_ops, return an error
|
|
Jiri Slaby |
c5b460 |
to client driver.
|
|
Jiri Slaby |
c5b460 |
|
|
Jiri Slaby |
c5b460 |
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
|
|
Jiri Slaby |
c5b460 |
Link: https://lore.kernel.org/r/20230313071812.13577-1-alexander.stein@ew.tq-group.com
|
|
Jiri Slaby |
c5b460 |
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Jiri Slaby |
c5b460 |
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
Jiri Slaby |
c5b460 |
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
|
|
Jiri Slaby |
c5b460 |
---
|
|
Jiri Slaby |
c5b460 |
drivers/base/regmap/regcache.c | 6 ++++++
|
|
Jiri Slaby |
c5b460 |
1 file changed, 6 insertions(+)
|
|
Jiri Slaby |
c5b460 |
|
|
Jiri Slaby |
c5b460 |
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
|
|
Jiri Slaby |
c5b460 |
index 362e043e..8031007b 100644
|
|
Jiri Slaby |
c5b460 |
--- a/drivers/base/regmap/regcache.c
|
|
Jiri Slaby |
c5b460 |
+++ b/drivers/base/regmap/regcache.c
|
|
Jiri Slaby |
c5b460 |
@@ -349,6 +349,9 @@ int regcache_sync(struct regmap *map)
|
|
Jiri Slaby |
c5b460 |
const char *name;
|
|
Jiri Slaby |
c5b460 |
bool bypass;
|
|
Jiri Slaby |
c5b460 |
|
|
Jiri Slaby |
c5b460 |
+ if (WARN_ON(map->cache_type == REGCACHE_NONE))
|
|
Jiri Slaby |
c5b460 |
+ return -EINVAL;
|
|
Jiri Slaby |
c5b460 |
+
|
|
Jiri Slaby |
c5b460 |
BUG_ON(!map->cache_ops);
|
|
Jiri Slaby |
c5b460 |
|
|
Jiri Slaby |
c5b460 |
map->lock(map->lock_arg);
|
|
Jiri Slaby |
c5b460 |
@@ -418,6 +421,9 @@ int regcache_sync_region(struct regmap *map, unsigned int min,
|
|
Jiri Slaby |
c5b460 |
const char *name;
|
|
Jiri Slaby |
c5b460 |
bool bypass;
|
|
Jiri Slaby |
c5b460 |
|
|
Jiri Slaby |
c5b460 |
+ if (WARN_ON(map->cache_type == REGCACHE_NONE))
|
|
Jiri Slaby |
c5b460 |
+ return -EINVAL;
|
|
Jiri Slaby |
c5b460 |
+
|
|
Jiri Slaby |
c5b460 |
BUG_ON(!map->cache_ops);
|
|
Jiri Slaby |
c5b460 |
|
|
Jiri Slaby |
c5b460 |
map->lock(map->lock_arg);
|
|
Jiri Slaby |
c5b460 |
--
|
|
Jiri Slaby |
c5b460 |
2.35.3
|
|
Jiri Slaby |
c5b460 |
|