OSDN Git Service

regulator: tps6105x: add optional devicetree support
authorSven Van Asbroeck <thesven73@gmail.com>
Tue, 19 Nov 2019 15:46:09 +0000 (10:46 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 20 Nov 2019 17:10:47 +0000 (17:10 +0000)
Tell the regulator framework to retrieve regulator init
data from the 'regulator' subnode, or from the parent mfd
device's platform data.

Example:

i2c0 {
tps61052@33 {
compatible = "ti,tps61052";
reg = <0x33>;

regulator {
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
};
};

Tree: next-20191118
Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
Link: https://lore.kernel.org/r/20191119154611.29625-3-TheSven73@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/tps6105x-regulator.c

index 06059a9..f8939af 100644 (file)
@@ -37,6 +37,7 @@ static struct regulator_ops tps6105x_regulator_ops = {
 
 static const struct regulator_desc tps6105x_regulator_desc = {
        .name           = "tps6105x-boost",
+       .of_match       = of_match_ptr("regulator"),
        .ops            = &tps6105x_regulator_ops,
        .type           = REGULATOR_VOLTAGE,
        .id             = 0,
@@ -71,6 +72,7 @@ static int tps6105x_regulator_probe(struct platform_device *pdev)
        config.dev = &tps6105x->client->dev;
        config.init_data = pdata->regulator_data;
        config.driver_data = tps6105x;
+       config.of_node = pdev->dev.parent->of_node;
        config.regmap = tps6105x->regmap;
 
        /* Register regulator with framework */