aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-04-28 06:13:54 -0400
committerLiam Girdwood <lrg@slimlogic.co.uk>2009-06-15 06:18:24 -0400
commit9035cefc2d4b67591cbc2e4e8fbc8d73901ca9eb (patch)
tree5c834ee490688ae5254a8d62cc4ea878b60b2b67
parent5a1b22beeff30d870bf2169a37e343e06cb5db3a (diff)
regulator: Support list_voltage for fixed voltage regulator
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
-rw-r--r--drivers/regulator/fixed.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c
index 6e0bede16ef8..4c525afb0091 100644
--- a/drivers/regulator/fixed.c
+++ b/drivers/regulator/fixed.c
@@ -44,10 +44,22 @@ static int fixed_voltage_get_voltage(struct regulator_dev *dev)
44 return data->microvolts; 44 return data->microvolts;
45} 45}
46 46
47static int fixed_voltage_list_voltage(struct regulator_dev *dev,
48 unsigned selector)
49{
50 struct fixed_voltage_data *data = rdev_get_drvdata(dev);
51
52 if (selector != 0)
53 return -EINVAL;
54
55 return data->microvolts;
56}
57
47static struct regulator_ops fixed_voltage_ops = { 58static struct regulator_ops fixed_voltage_ops = {
48 .is_enabled = fixed_voltage_is_enabled, 59 .is_enabled = fixed_voltage_is_enabled,
49 .enable = fixed_voltage_enable, 60 .enable = fixed_voltage_enable,
50 .get_voltage = fixed_voltage_get_voltage, 61 .get_voltage = fixed_voltage_get_voltage,
62 .list_voltage = fixed_voltage_list_voltage,
51}; 63};
52 64
53static int regulator_fixed_voltage_probe(struct platform_device *pdev) 65static int regulator_fixed_voltage_probe(struct platform_device *pdev)
@@ -69,7 +81,8 @@ static int regulator_fixed_voltage_probe(struct platform_device *pdev)
69 } 81 }
70 drvdata->desc.type = REGULATOR_VOLTAGE; 82 drvdata->desc.type = REGULATOR_VOLTAGE;
71 drvdata->desc.owner = THIS_MODULE; 83 drvdata->desc.owner = THIS_MODULE;
72 drvdata->desc.ops = &fixed_voltage_ops, 84 drvdata->desc.ops = &fixed_voltage_ops;
85 drvdata->desc.n_voltages = 1;
73 86
74 drvdata->microvolts = config->microvolts; 87 drvdata->microvolts = config->microvolts;
75 88