OSDN Git Service

regulator: ab8500: Don't register external regulators on AB8505
authorRabin Vincent <rabin.vincent@stericsson.com>
Tue, 2 Apr 2013 12:24:08 +0000 (13:24 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 2 Apr 2013 22:01:42 +0000 (23:01 +0100)
ExtSupply regulators are not included on AB8505 based platforms.

Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Tested-by: Marcus COOPER <marcus.xm.cooper@stericsson.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/ab8500.c

index f89a17a..65f9365 100644 (file)
@@ -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);