diff options
-rw-r--r-- | drivers/base/regmap/regmap.c | 13 | ||||
-rw-r--r-- | include/linux/regmap.h | 7 |
2 files changed, 20 insertions, 0 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 74d8c0672cf6..78f43fb2fe84 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c | |||
@@ -1073,6 +1073,19 @@ struct regmap *dev_get_regmap(struct device *dev, const char *name) | |||
1073 | } | 1073 | } |
1074 | EXPORT_SYMBOL_GPL(dev_get_regmap); | 1074 | EXPORT_SYMBOL_GPL(dev_get_regmap); |
1075 | 1075 | ||
1076 | /** | ||
1077 | * regmap_get_device(): Obtain the device from a regmap | ||
1078 | * | ||
1079 | * @map: Register map to operate on. | ||
1080 | * | ||
1081 | * Returns the underlying device that the regmap has been created for. | ||
1082 | */ | ||
1083 | struct device *regmap_get_device(struct regmap *map) | ||
1084 | { | ||
1085 | return map->dev; | ||
1086 | } | ||
1087 | EXPORT_SYMBOL_GPL(regmap_get_device); | ||
1088 | |||
1076 | static int _regmap_select_page(struct regmap *map, unsigned int *reg, | 1089 | static int _regmap_select_page(struct regmap *map, unsigned int *reg, |
1077 | struct regmap_range_node *range, | 1090 | struct regmap_range_node *range, |
1078 | unsigned int val_num) | 1091 | unsigned int val_num) |
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 7b0e4b425cdf..c5ed83f49c4e 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h | |||
@@ -396,6 +396,7 @@ void regmap_exit(struct regmap *map); | |||
396 | int regmap_reinit_cache(struct regmap *map, | 396 | int regmap_reinit_cache(struct regmap *map, |
397 | const struct regmap_config *config); | 397 | const struct regmap_config *config); |
398 | struct regmap *dev_get_regmap(struct device *dev, const char *name); | 398 | struct regmap *dev_get_regmap(struct device *dev, const char *name); |
399 | struct device *regmap_get_device(struct regmap *map); | ||
399 | int regmap_write(struct regmap *map, unsigned int reg, unsigned int val); | 400 | int regmap_write(struct regmap *map, unsigned int reg, unsigned int val); |
400 | int regmap_write_async(struct regmap *map, unsigned int reg, unsigned int val); | 401 | int regmap_write_async(struct regmap *map, unsigned int reg, unsigned int val); |
401 | int regmap_raw_write(struct regmap *map, unsigned int reg, | 402 | int regmap_raw_write(struct regmap *map, unsigned int reg, |
@@ -729,6 +730,12 @@ static inline struct regmap *dev_get_regmap(struct device *dev, | |||
729 | return NULL; | 730 | return NULL; |
730 | } | 731 | } |
731 | 732 | ||
733 | static inline struct device *regmap_get_device(struct regmap *map) | ||
734 | { | ||
735 | WARN_ONCE(1, "regmap API is disabled"); | ||
736 | return NULL; | ||
737 | } | ||
738 | |||
732 | #endif | 739 | #endif |
733 | 740 | ||
734 | #endif | 741 | #endif |