X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fregulator%2Fcore.c;h=671eb53b5cdc1a1125abc36712923c56ee785bdb;hb=1bf5a1f86a328122714680cd59951074b4f31e07;hp=5d07e5dd417f858f121524b1666004737c0cc20f;hpb=43e7ee33f2a8d20238267b789791386739247478;p=deliverable%2Flinux.git diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 5d07e5dd417f..671eb53b5cdc 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -581,14 +581,15 @@ static void drms_uA_update(struct regulator_dev *rdev) return; /* get output voltage */ - output_uV = rdev->desc->ops->get_voltage(rdev); + output_uV = _regulator_get_voltage(rdev); if (output_uV <= 0) return; /* get input voltage */ - if (rdev->supply && rdev->supply->desc->ops->get_voltage) - input_uV = rdev->supply->desc->ops->get_voltage(rdev->supply); - else + input_uV = 0; + if (rdev->supply) + input_uV = _regulator_get_voltage(rdev); + if (input_uV <= 0) input_uV = rdev->constraints->input_uV; if (input_uV <= 0) return; @@ -1908,16 +1909,17 @@ int regulator_set_optimum_mode(struct regulator *regulator, int uA_load) goto out; /* get output voltage */ - output_uV = rdev->desc->ops->get_voltage(rdev); + output_uV = _regulator_get_voltage(rdev); if (output_uV <= 0) { rdev_err(rdev, "invalid output voltage found\n"); goto out; } /* get input voltage */ - if (rdev->supply && rdev->supply->desc->ops->get_voltage) - input_uV = rdev->supply->desc->ops->get_voltage(rdev->supply); - else + input_uV = 0; + if (rdev->supply) + input_uV = _regulator_get_voltage(rdev->supply); + if (input_uV <= 0) input_uV = rdev->constraints->input_uV; if (input_uV <= 0) { rdev_err(rdev, "invalid input voltage found\n");