From 807599650dc4f17e6913711ca0e49d9dd238078d Mon Sep 17 00:00:00 2001 From: David Collins Date: Fri, 22 Nov 2019 16:10:42 -0800 Subject: [PATCH] regulator: fixed: add support for proxy consumers Add support to enforce proxy consumer requests defined in device tree for fixed regulator devices. These can be used to ensure that regulators are not accidentally disabled before all consumers have had a chance to make their own requests. Change-Id: Ib971aae138897ded6cb4efd9a7eddc17d9a07f7f Signed-off-by: David Collins --- drivers/regulator/fixed.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c index f81533070058..111b14c741c8 100644 --- a/drivers/regulator/fixed.c +++ b/drivers/regulator/fixed.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -249,6 +250,11 @@ static int reg_fixed_voltage_probe(struct platform_device *pdev) return ret; } + ret = devm_regulator_proxy_consumer_register(dev, dev->of_node); + if (ret) + dev_err(dev, "failed to register proxy consumer, ret=%d\n", + ret); + platform_set_drvdata(pdev, drvdata); dev_dbg(&pdev->dev, "%s supplying %duV\n", drvdata->desc.name, @@ -278,6 +284,7 @@ static struct platform_driver regulator_fixed_voltage_driver = { .driver = { .name = "reg-fixed-voltage", .of_match_table = of_match_ptr(fixed_of_match), + .sync_state = regulator_proxy_consumer_sync_state, }, };