]> git.baikalelectronics.ru Git - kernel.git/commitdiff
regulator: fixed: fix regulator_list_voltage() for regression
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Wed, 13 Nov 2013 11:33:00 +0000 (12:33 +0100)
committerMark Brown <broonie@linaro.org>
Wed, 13 Nov 2013 14:00:51 +0000 (14:00 +0000)
Commit 4c71455e96235bfefb77108459d5962027451280 "regulator: fixed:
get rid of {get|list}_voltage()" broke regulator_list_voltage() for
the fixed regulator, because an earlier commit
80898731c2716327d0a7e30b9f2e30c6305a8ef6 "regulator: core: provide
fixed voltage in desc for single voltage rail" missed to add support
for the fixed-voltage special case to that function. This patch
fixes that regression.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/regulator/core.c

index 6382f0af353bc257e3ee6c3b545f75c0c1f2904e..3fe13130baec12218a58230863b313bf4c20d034 100644 (file)
@@ -2184,6 +2184,9 @@ int regulator_list_voltage(struct regulator *regulator, unsigned selector)
        struct regulator_ops    *ops = rdev->desc->ops;
        int                     ret;
 
+       if (rdev->desc->fixed_uV && rdev->desc->n_voltages == 1 && !selector)
+               return rdev->desc->fixed_uV;
+
        if (!ops->list_voltage || selector >= rdev->desc->n_voltages)
                return -EINVAL;