aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/base/regmap/regmap.c12
-rw-r--r--include/linux/regmap.h9
2 files changed, 21 insertions, 0 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 6a19515f8a45..4b2ed0c9e80d 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -2240,6 +2240,18 @@ int regmap_get_val_bytes(struct regmap *map)
2240} 2240}
2241EXPORT_SYMBOL_GPL(regmap_get_val_bytes); 2241EXPORT_SYMBOL_GPL(regmap_get_val_bytes);
2242 2242
2243int regmap_parse_val(struct regmap *map, const void *buf,
2244 unsigned int *val)
2245{
2246 if (!map->format.parse_val)
2247 return -EINVAL;
2248
2249 *val = map->format.parse_val(buf);
2250
2251 return 0;
2252}
2253EXPORT_SYMBOL_GPL(regmap_parse_val);
2254
2243static int __init regmap_initcall(void) 2255static int __init regmap_initcall(void)
2244{ 2256{
2245 regmap_debugfs_initcall(); 2257 regmap_debugfs_initcall();
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 4149f1a9b003..3e1a2e4a92ad 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -423,6 +423,8 @@ bool regmap_check_range_table(struct regmap *map, unsigned int reg,
423 423
424int regmap_register_patch(struct regmap *map, const struct reg_default *regs, 424int regmap_register_patch(struct regmap *map, const struct reg_default *regs,
425 int num_regs); 425 int num_regs);
426int regmap_parse_val(struct regmap *map, const void *buf,
427 unsigned int *val);
426 428
427static inline bool regmap_reg_in_range(unsigned int reg, 429static inline bool regmap_reg_in_range(unsigned int reg,
428 const struct regmap_range *range) 430 const struct regmap_range *range)
@@ -695,6 +697,13 @@ static inline int regmap_register_patch(struct regmap *map,
695 return -EINVAL; 697 return -EINVAL;
696} 698}
697 699
700static inline int regmap_parse_val(struct regmap *map, const void *buf,
701 unsigned int *val)
702{
703 WARN_ONCE(1, "regmap API is disabled");
704 return -EINVAL;
705}
706
698static inline struct regmap *dev_get_regmap(struct device *dev, 707static inline struct regmap *dev_get_regmap(struct device *dev,
699 const char *name) 708 const char *name)
700{ 709{