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 |
