Loading drivers/regulator/core.c +3 −0 Original line number Diff line number Diff line Loading @@ -4458,6 +4458,8 @@ regulator_register(const struct regulator_desc *regulator_desc, 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(®ulator_class, NULL, NULL, Loading Loading @@ -4497,6 +4499,7 @@ void regulator_unregister(struct regulator_dev *rdev) regulator_disable(rdev->supply); regulator_put(rdev->supply); } regulator_proxy_consumer_unregister(rdev->proxy_consumer); rdev_deinit_debugfs(rdev); mutex_lock(®ulator_list_mutex); flush_work(&rdev->disable_work.work); Loading include/linux/regulator/driver.h +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -448,6 +449,7 @@ struct regulator_dev { /* time when this regulator was disabled last time */ unsigned long last_off_jiffy; struct proxy_consumer *proxy_consumer; struct regulator *debug_consumer; }; Loading Loading
drivers/regulator/core.c +3 −0 Original line number Diff line number Diff line Loading @@ -4458,6 +4458,8 @@ regulator_register(const struct regulator_desc *regulator_desc, 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(®ulator_class, NULL, NULL, Loading Loading @@ -4497,6 +4499,7 @@ void regulator_unregister(struct regulator_dev *rdev) regulator_disable(rdev->supply); regulator_put(rdev->supply); } regulator_proxy_consumer_unregister(rdev->proxy_consumer); rdev_deinit_debugfs(rdev); mutex_lock(®ulator_list_mutex); flush_work(&rdev->disable_work.work); Loading
include/linux/regulator/driver.h +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -448,6 +449,7 @@ struct regulator_dev { /* time when this regulator was disabled last time */ unsigned long last_off_jiffy; struct proxy_consumer *proxy_consumer; struct regulator *debug_consumer; }; Loading