]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/regulator/max8997.c
Merge remote-tracking branches 'regulator/topic/s5m8767', 'regulator/topic/st-pwm...
[karo-tx-linux.git] / drivers / regulator / max8997.c
index 2d618fc9c1af51da55ebce43be2e7c62db8c3eab..90b4c530dee530b7255b21d238929d744de5abcd 100644 (file)
@@ -38,7 +38,6 @@ struct max8997_data {
        struct device *dev;
        struct max8997_dev *iodev;
        int num_regulators;
-       struct regulator_dev **rdev;
        int ramp_delay; /* in mV/us */
 
        bool buck1_gpiodvs;
@@ -924,7 +923,7 @@ static int max8997_pmic_dt_parse_pdata(struct platform_device *pdev,
                return -ENODEV;
        }
 
-       regulators_np = of_find_node_by_name(pmic_np, "regulators");
+       regulators_np = of_get_child_by_name(pmic_np, "regulators");
        if (!regulators_np) {
                dev_err(&pdev->dev, "could not find regulators sub-node\n");
                return -EINVAL;
@@ -937,7 +936,6 @@ static int max8997_pmic_dt_parse_pdata(struct platform_device *pdev,
                                pdata->num_regulators, GFP_KERNEL);
        if (!rdata) {
                of_node_put(regulators_np);
-               dev_err(&pdev->dev, "could not allocate memory for regulator data\n");
                return -ENOMEM;
        }
 
@@ -1030,10 +1028,10 @@ static int max8997_pmic_probe(struct platform_device *pdev)
        struct max8997_dev *iodev = dev_get_drvdata(pdev->dev.parent);
        struct max8997_platform_data *pdata = iodev->pdata;
        struct regulator_config config = { };
-       struct regulator_dev **rdev;
+       struct regulator_dev *rdev;
        struct max8997_data *max8997;
        struct i2c_client *i2c;
-       int i, ret, size, nr_dvs;
+       int i, ret, nr_dvs;
        u8 max_buck1 = 0, max_buck2 = 0, max_buck5 = 0;
 
        if (!pdata) {
@@ -1052,12 +1050,6 @@ static int max8997_pmic_probe(struct platform_device *pdev)
        if (!max8997)
                return -ENOMEM;
 
-       size = sizeof(struct regulator_dev *) * pdata->num_regulators;
-       max8997->rdev = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
-       if (!max8997->rdev)
-               return -ENOMEM;
-
-       rdev = max8997->rdev;
        max8997->dev = &pdev->dev;
        max8997->iodev = iodev;
        max8997->num_regulators = pdata->num_regulators;
@@ -1205,12 +1197,12 @@ static int max8997_pmic_probe(struct platform_device *pdev)
                config.driver_data = max8997;
                config.of_node = pdata->regulators[i].reg_node;
 
-               rdev[i] = devm_regulator_register(&pdev->dev, &regulators[id],
-                                                 &config);
-               if (IS_ERR(rdev[i])) {
+               rdev = devm_regulator_register(&pdev->dev, &regulators[id],
+                                              &config);
+               if (IS_ERR(rdev)) {
                        dev_err(max8997->dev, "regulator init failed for %d\n",
                                        id);
-                       return PTR_ERR(rdev[i]);
+                       return PTR_ERR(rdev);
                }
        }