aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/regulator/consumer.h
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@gmail.com>2015-03-05 10:39:20 -0500
committerMark Brown <broonie@kernel.org>2015-03-05 11:42:14 -0500
commit046db763aaaeb987ea01ea8c7e6d618e0ad1e6b8 (patch)
treef894b2901d8b27144479af9a722696092d934340 /include/linux/regulator/consumer.h
parentc517d838eb7d07bbe9507871fab3931deccff539 (diff)
regulator: core: Add devres versions of notifier registration
Add devm_regulator_register_notifier, this adds the resource against the device for the consumer supply we are registering the notifier for. There seem to be few use-cases where this wouldn't be the users intention and this ensures the notifiers will always be removed at the correct time. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/linux/regulator/consumer.h')
-rw-r--r--include/linux/regulator/consumer.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h
index d17e1ff7ad01..bd631ee5f1da 100644
--- a/include/linux/regulator/consumer.h
+++ b/include/linux/regulator/consumer.h
@@ -252,8 +252,12 @@ int regulator_list_hardware_vsel(struct regulator *regulator,
252/* regulator notifier block */ 252/* regulator notifier block */
253int regulator_register_notifier(struct regulator *regulator, 253int regulator_register_notifier(struct regulator *regulator,
254 struct notifier_block *nb); 254 struct notifier_block *nb);
255int devm_regulator_register_notifier(struct regulator *regulator,
256 struct notifier_block *nb);
255int regulator_unregister_notifier(struct regulator *regulator, 257int regulator_unregister_notifier(struct regulator *regulator,
256 struct notifier_block *nb); 258 struct notifier_block *nb);
259void devm_regulator_unregister_notifier(struct regulator *regulator,
260 struct notifier_block *nb);
257 261
258/* driver data - core doesn't touch */ 262/* driver data - core doesn't touch */
259void *regulator_get_drvdata(struct regulator *regulator); 263void *regulator_get_drvdata(struct regulator *regulator);
@@ -515,12 +519,24 @@ static inline int regulator_register_notifier(struct regulator *regulator,
515 return 0; 519 return 0;
516} 520}
517 521
522static inline int devm_regulator_register_notifier(struct regulator *regulator,
523 struct notifier_block *nb)
524{
525 return 0;
526}
527
518static inline int regulator_unregister_notifier(struct regulator *regulator, 528static inline int regulator_unregister_notifier(struct regulator *regulator,
519 struct notifier_block *nb) 529 struct notifier_block *nb)
520{ 530{
521 return 0; 531 return 0;
522} 532}
523 533
534static inline int devm_regulator_unregister_notifier(struct regulator *regulator,
535 struct notifier_block *nb)
536{
537 return 0;
538}
539
524static inline void *regulator_get_drvdata(struct regulator *regulator) 540static inline void *regulator_get_drvdata(struct regulator *regulator)
525{ 541{
526 return NULL; 542 return NULL;