summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/regulator/ab8500.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index f89a17a66433..65f9365885a8 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -2777,10 +2777,12 @@ static int ab8500_regulator_probe(struct platform_device *pdev)
return err;
}
- /* register external regulators (before Vaux1, 2 and 3) */
- err = ab8500_ext_regulator_init(pdev);
- if (err)
- 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 < regulator_info_size; i++) {
@@ -2822,10 +2824,12 @@ static int ab8500_regulator_remove(struct platform_device *pdev)
regulator_unregister(info->regulator);
}
- /* remove external regulators (after Vaux1, 2 and 3) */
- err = ab8500_ext_regulator_exit(pdev);
- if (err)
- return err;
+ if (!is_ab8505(ab8500)) {
+ /* remove external regulators (after Vaux1, 2 and 3) */
+ err = ab8500_ext_regulator_exit(pdev);
+ if (err)
+ return err;
+ }
/* remove regulator debug */
err = ab8500_regulator_debug_exit(pdev);