Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1289095 > unrolled thread

[PATCHv2 0/2] regmap: cache: Add invalid cache check warnings

Started byXiubo Li <lixiubo@cmss.chinamobile.com>
First post2015-12-11 04:30 +0100
Last post2015-12-11 04:30 +0100
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCHv2 0/2] regmap: cache: Add invalid cache check warnings  Xiubo Li <lixiubo@cmss.chinamobile.com> - 2015-12-11 04:30 +0100
    [PATCHv2 2/2] regmap: cache: Move the num_reg_defaults check as early as possible Xiubo Li <lixiubo@cmss.chinamobile.com> - 2015-12-11 04:30 +0100

#1289095 — [PATCHv2 0/2] regmap: cache: Add invalid cache check warnings

FromXiubo Li <lixiubo@cmss.chinamobile.com>
Date2015-12-11 04:30 +0100
Subject[PATCHv2 0/2] regmap: cache: Add invalid cache check warnings
Message-ID<qEmz8-6ZR-13@gated-at.bofh.it>
Changed in V2:
- Correct some words in the commit commnet and logs.
- Add register defaults raw check.
- Add [PATCHv2 2/2]

Xiubo Li (2):
  regmap: cache: Add warning info for the cache check
  regmap: cache: Move the num_reg_defaults check as early as possible

 drivers/base/regmap/regcache.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

-- 
1.8.3.1



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1289096 — [PATCHv2 2/2] regmap: cache: Move the num_reg_defaults check as early as possible

FromXiubo Li <lixiubo@cmss.chinamobile.com>
Date2015-12-11 04:30 +0100
Subject[PATCHv2 2/2] regmap: cache: Move the num_reg_defaults check as early as possible
Message-ID<qEmz8-6ZR-19@gated-at.bofh.it>
In reply to#1289095
If the register defaults are provided by the driver without the
number by mistake, it should just return an error with one promotion.

This should be as early as possible, then there is no need to verify
the register defaults' stride and the other code followed.

Signed-off-by: Xiubo Li <lixiubo@cmss.chinamobile.com>
---
 drivers/base/regmap/regcache.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index d4e96dd..348be3a 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -109,6 +109,12 @@ int regcache_init(struct regmap *map, const struct regmap_config *config)
 		return 0;
 	}
 
+	if (config->reg_defaults && !config->num_reg_defaults) {
+		dev_err(map->dev,
+			 "Register defaults are set without the number!\n");
+		return -EINVAL;
+	}
+
 	for (i = 0; i < config->num_reg_defaults; i++)
 		if (config->reg_defaults[i].reg % map->reg_stride)
 			return -EINVAL;
@@ -142,8 +148,6 @@ int regcache_init(struct regmap *map, const struct regmap_config *config)
 	 * a copy of it.
 	 */
 	if (config->reg_defaults) {
-		if (!map->num_reg_defaults)
-			return -EINVAL;
 		tmp_buf = kmemdup(config->reg_defaults, map->num_reg_defaults *
 				  sizeof(struct reg_default), GFP_KERNEL);
 		if (!tmp_buf)
-- 
1.8.3.1



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web