Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
[linux-2.6-block.git] / drivers / regulator / max8907-regulator.c
index 0c5fe6c6ac26eb22ba248c3b64bbe9c98129283b..9623e9e290bf91bb1b7a330946b6783e5bdc7707 100644 (file)
@@ -34,7 +34,6 @@
 
 struct max8907_regulator {
        struct regulator_desc desc[MAX8907_NUM_REGULATORS];
-       struct regulator_dev *rdev[MAX8907_NUM_REGULATORS];
 };
 
 #define REG_MBATT() \
@@ -231,7 +230,7 @@ static int max8907_regulator_parse_dt(struct platform_device *pdev)
        if (!np)
                return 0;
 
-       regulators = of_find_node_by_name(np, "regulators");
+       regulators = of_get_child_by_name(np, "regulators");
        if (!regulators) {
                dev_err(&pdev->dev, "regulators node not found\n");
                return -EINVAL;
@@ -292,10 +291,9 @@ static int max8907_regulator_probe(struct platform_device *pdev)
                return ret;
 
        pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL);
-       if (!pmic) {
-               dev_err(&pdev->dev, "Failed to alloc pmic\n");
+       if (!pmic)
                return -ENOMEM;
-       }
+
        platform_set_drvdata(pdev, pmic);
 
        memcpy(pmic->desc, max8907_regulators, sizeof(pmic->desc));
@@ -311,6 +309,8 @@ static int max8907_regulator_probe(struct platform_device *pdev)
        }
 
        for (i = 0; i < MAX8907_NUM_REGULATORS; i++) {
+               struct regulator_dev *rdev;
+
                config.dev = pdev->dev.parent;
                if (pdata)
                        idata = pdata->init_data[i];
@@ -350,13 +350,13 @@ static int max8907_regulator_probe(struct platform_device *pdev)
                                pmic->desc[i].ops = &max8907_out5v_hwctl_ops;
                }
 
-               pmic->rdev[i] = devm_regulator_register(&pdev->dev,
+               rdev = devm_regulator_register(&pdev->dev,
                                                &pmic->desc[i], &config);
-               if (IS_ERR(pmic->rdev[i])) {
+               if (IS_ERR(rdev)) {
                        dev_err(&pdev->dev,
                                "failed to register %s regulator\n",
                                pmic->desc[i].name);
-                       return PTR_ERR(pmic->rdev[i]);
+                       return PTR_ERR(rdev);
                }
        }