diff options
-rw-r--r-- | drivers/base/regmap/regmap.c | 12 | ||||
-rw-r--r-- | include/linux/regmap.h | 9 |
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 | } |
2241 | EXPORT_SYMBOL_GPL(regmap_get_val_bytes); | 2241 | EXPORT_SYMBOL_GPL(regmap_get_val_bytes); |
2242 | 2242 | ||
2243 | int 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 | } | ||
2253 | EXPORT_SYMBOL_GPL(regmap_parse_val); | ||
2254 | |||
2243 | static int __init regmap_initcall(void) | 2255 | static 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 | ||
424 | int regmap_register_patch(struct regmap *map, const struct reg_default *regs, | 424 | int regmap_register_patch(struct regmap *map, const struct reg_default *regs, |
425 | int num_regs); | 425 | int num_regs); |
426 | int regmap_parse_val(struct regmap *map, const void *buf, | ||
427 | unsigned int *val); | ||
426 | 428 | ||
427 | static inline bool regmap_reg_in_range(unsigned int reg, | 429 | static 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 | ||
700 | static 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 | |||
698 | static inline struct regmap *dev_get_regmap(struct device *dev, | 707 | static inline struct regmap *dev_get_regmap(struct device *dev, |
699 | const char *name) | 708 | const char *name) |
700 | { | 709 | { |