aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-08-04 12:19:57 -0400
committerMark Brown <broonie@linaro.org>2014-08-04 12:19:57 -0400
commite8b15c01732e74e29cad144c667bfb8792ef69fc (patch)
treeb6a26368cd4d6ee665771b99231fe66abec25277
parent19583ca584d6f574384e17fe7613dfaeadcdc4a6 (diff)
parent1d33dc6b0f0fd1a1f65011f54165c558daf46638 (diff)
Merge remote-tracking branch 'regmap/topic/getdev' into regmap-next
-rw-r--r--drivers/base/regmap/regmap.c13
-rw-r--r--include/linux/regmap.h7
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}
1074EXPORT_SYMBOL_GPL(dev_get_regmap); 1074EXPORT_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 */
1083struct device *regmap_get_device(struct regmap *map)
1084{
1085 return map->dev;
1086}
1087EXPORT_SYMBOL_GPL(regmap_get_device);
1088
1076static int _regmap_select_page(struct regmap *map, unsigned int *reg, 1089static 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);
396int regmap_reinit_cache(struct regmap *map, 396int regmap_reinit_cache(struct regmap *map,
397 const struct regmap_config *config); 397 const struct regmap_config *config);
398struct regmap *dev_get_regmap(struct device *dev, const char *name); 398struct regmap *dev_get_regmap(struct device *dev, const char *name);
399struct device *regmap_get_device(struct regmap *map);
399int regmap_write(struct regmap *map, unsigned int reg, unsigned int val); 400int regmap_write(struct regmap *map, unsigned int reg, unsigned int val);
400int regmap_write_async(struct regmap *map, unsigned int reg, unsigned int val); 401int regmap_write_async(struct regmap *map, unsigned int reg, unsigned int val);
401int regmap_raw_write(struct regmap *map, unsigned int reg, 402int 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
733static 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