Merge "defconfig: msm: Turn on the HMP scheduler for existing targets" into msm-4.8
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 8994db2..183fa22 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -4443,6 +4443,8 @@
 
 	dev_set_drvdata(&rdev->dev, rdev);
 	rdev_init_debugfs(rdev);
+	rdev->proxy_consumer = regulator_proxy_consumer_register(dev,
+							config->of_node);
 
 	/* try to resolve regulators supply since a new one was registered */
 	class_for_each_device(&regulator_class, NULL, NULL,
@@ -4482,6 +4484,7 @@
 			regulator_disable(rdev->supply);
 		regulator_put(rdev->supply);
 	}
+	regulator_proxy_consumer_unregister(rdev->proxy_consumer);
 	rdev_deinit_debugfs(rdev);
 	mutex_lock(&regulator_list_mutex);
 	flush_work(&rdev->disable_work.work);
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h
index e59f776..ee79113 100644
--- a/include/linux/regulator/driver.h
+++ b/include/linux/regulator/driver.h
@@ -18,6 +18,7 @@
 #include <linux/device.h>
 #include <linux/notifier.h>
 #include <linux/regulator/consumer.h>
+#include <linux/regulator/proxy-consumer.h>
 
 struct regmap;
 struct regulator_dev;
@@ -433,6 +434,7 @@
 
 	/* time when this regulator was disabled last time */
 	unsigned long last_off_jiffy;
+	struct proxy_consumer *proxy_consumer;
 	struct regulator *debug_consumer;
 };