hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n
authorJean Delvare <khali@linux-fr.org>
Wed, 14 Apr 2010 14:14:08 +0000 (16:14 +0200)
committerJean Delvare <khali@linux-fr.org>
Wed, 14 Apr 2010 14:14:08 +0000 (16:14 +0200)
When CONFIG_REGULATOR isn't set, regulator_get_voltage() returns 0.
Properly handle this case by not trusting the value.

Reported-by: Jerome Oufella <jerome.oufella@savoirfairelinux.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
drivers/hwmon/sht15.c

index 9a15b1af1f11cac41dd0b1a8c52c846f5cf75a2c..a610e7880fb3e5498b5d836d456ec4e25c58e278 100644 (file)
@@ -542,7 +542,12 @@ static int __devinit sht15_probe(struct platform_device *pdev)
 /* If a regulator is available, query what the supply voltage actually is!*/
        data->reg = regulator_get(data->dev, "vcc");
        if (!IS_ERR(data->reg)) {
-               data->supply_uV = regulator_get_voltage(data->reg);
+               int voltage;
+
+               voltage = regulator_get_voltage(data->reg);
+               if (voltage)
+                       data->supply_uV = voltage;
+
                regulator_enable(data->reg);
                /* setup a notifier block to update this if another device
                 *  causes the voltage to change */