regulator: Make core more chatty about some errors
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 12 Jul 2011 02:20:37 +0000 (11:20 +0900)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Fri, 22 Jul 2011 10:43:00 +0000 (11:43 +0100)
Prevent some head scratching by making the core log about some rare but
possible errors with invalid voltage ranges and modes being set.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
drivers/regulator/core.c

index f59821f..3700d09 100644 (file)
@@ -151,8 +151,11 @@ static int regulator_check_voltage(struct regulator_dev *rdev,
        if (*min_uV < rdev->constraints->min_uV)
                *min_uV = rdev->constraints->min_uV;
 
-       if (*min_uV > *max_uV)
+       if (*min_uV > *max_uV) {
+               rdev_err(rdev, "unsupportable voltage range: %d-%duV\n",
+                        min_uV, max_uV);
                return -EINVAL;
+       }
 
        return 0;
 }
@@ -205,8 +208,11 @@ static int regulator_check_current_limit(struct regulator_dev *rdev,
        if (*min_uA < rdev->constraints->min_uA)
                *min_uA = rdev->constraints->min_uA;
 
-       if (*min_uA > *max_uA)
+       if (*min_uA > *max_uA) {
+               rdev_err(rdev, "unsupportable current range: %d-%duA\n",
+                        min_uA, max_uA);
                return -EINVAL;
+       }
 
        return 0;
 }
@@ -221,6 +227,7 @@ static int regulator_mode_constrain(struct regulator_dev *rdev, int *mode)
        case REGULATOR_MODE_STANDBY:
                break;
        default:
+               rdev_err(rdev, "invalid mode %x specified\n", *mode);
                return -EINVAL;
        }