]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/regulator/ab8500.c
Merge tag 'regulator-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[karo-tx-linux.git] / drivers / regulator / ab8500.c
index a19045ee0ec432ba45a4a023cd26371ecb647e46..603f192e84f1736b5e116baaf07a3ca1eaf0cbaf 100644 (file)
@@ -719,6 +719,7 @@ static struct ab8500_regulator_info
                        .n_voltages     = ARRAY_SIZE(ldo_vauxn_voltages),
                        .volt_table     = ldo_vauxn_voltages,
                        .enable_time    = 200,
+                       .supply_name    = "vin",
                },
                .load_lp_uA             = 5000,
                .update_bank            = 0x04,
@@ -741,6 +742,7 @@ static struct ab8500_regulator_info
                        .n_voltages     = ARRAY_SIZE(ldo_vauxn_voltages),
                        .volt_table     = ldo_vauxn_voltages,
                        .enable_time    = 200,
+                       .supply_name    = "vin",
                },
                .load_lp_uA             = 5000,
                .update_bank            = 0x04,
@@ -763,6 +765,7 @@ static struct ab8500_regulator_info
                        .n_voltages     = ARRAY_SIZE(ldo_vaux3_voltages),
                        .volt_table     = ldo_vaux3_voltages,
                        .enable_time    = 450,
+                       .supply_name    = "vin",
                },
                .load_lp_uA             = 5000,
                .update_bank            = 0x04,
@@ -3156,22 +3159,12 @@ static int ab8500_regulator_probe(struct platform_device *pdev)
                        return err;
        }
 
-       if (!is_ab8505(ab8500)) {
-               /* register external regulators (before Vaux1, 2 and 3) */
-               err = ab8500_ext_regulator_init(pdev);
-               if (err)
-                       return err;
-       }
-
        /* register all regulators */
        for (i = 0; i < abx500_regulator.info_size; i++) {
                err = ab8500_regulator_register(pdev, &pdata->regulator[i],
                                                i, NULL);
-               if (err < 0) {
-                       if (!is_ab8505(ab8500))
-                               ab8500_ext_regulator_exit(pdev);
+               if (err < 0)
                        return err;
-               }
        }
 
        return 0;
@@ -3180,7 +3173,6 @@ static int ab8500_regulator_probe(struct platform_device *pdev)
 static int ab8500_regulator_remove(struct platform_device *pdev)
 {
        int i, err;
-       struct ab8500 *ab8500 = dev_get_drvdata(pdev->dev.parent);
 
        for (i = 0; i < abx500_regulator.info_size; i++) {
                struct ab8500_regulator_info *info = NULL;
@@ -3192,10 +3184,6 @@ static int ab8500_regulator_remove(struct platform_device *pdev)
                regulator_unregister(info->regulator);
        }
 
-       /* remove external regulators (after Vaux1, 2 and 3) */
-       if (!is_ab8505(ab8500))
-               ab8500_ext_regulator_exit(pdev);
-
        /* remove regulator debug */
        err = ab8500_regulator_debug_exit(pdev);
        if (err)