aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-12-15 09:10:25 -0500
committerLiam Girdwood <lrg@slimlogic.co.uk>2011-01-12 09:33:03 -0500
commit4d7071f1fdc9c27e15e8aaede27bef9f4feccafe (patch)
tree7f51701863f8d841276bfed8e82e16eb6a19a2a6 /drivers/regulator
parent5e428d5cecc3f109b52e993a1bd91f82137867b3 (diff)
regulator: Allow modular build of mc13xxx-core
Since the MFD core for this device and the regulator drivers for these devices can be built modular we should also support modular build of the shared code for the regulator drivers, otherwise we try to link built in code against modular code with unfortunate results. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/Kconfig2
-rw-r--r--drivers/regulator/mc13xxx-regulator-core.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index 485a9bc88ca9..e1d943619ab8 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -187,7 +187,7 @@ config REGULATOR_PCAP
187 PCAP2 PMIC. 187 PCAP2 PMIC.
188 188
189config REGULATOR_MC13XXX_CORE 189config REGULATOR_MC13XXX_CORE
190 bool 190 tristate
191 191
192config REGULATOR_MC13783 192config REGULATOR_MC13783
193 tristate "Support regulators on Freescale MC13783 PMIC" 193 tristate "Support regulators on Freescale MC13783 PMIC"
diff --git a/drivers/regulator/mc13xxx-regulator-core.c b/drivers/regulator/mc13xxx-regulator-core.c
index 448e8f4cf41b..f53d31b950d4 100644
--- a/drivers/regulator/mc13xxx-regulator-core.c
+++ b/drivers/regulator/mc13xxx-regulator-core.c
@@ -89,6 +89,7 @@ int mc13xxx_regulator_list_voltage(struct regulator_dev *rdev,
89 89
90 return mc13xxx_regulators[id].voltages[selector]; 90 return mc13xxx_regulators[id].voltages[selector];
91} 91}
92EXPORT_SYMBOL_GPL(mc13xxx_regulator_list_voltage);
92 93
93int mc13xxx_get_best_voltage_index(struct regulator_dev *rdev, 94int mc13xxx_get_best_voltage_index(struct regulator_dev *rdev,
94 int min_uV, int max_uV) 95 int min_uV, int max_uV)
@@ -123,6 +124,7 @@ int mc13xxx_get_best_voltage_index(struct regulator_dev *rdev,
123 } 124 }
124 return bestindex; 125 return bestindex;
125} 126}
127EXPORT_SYMBOL_GPL(mc13xxx_get_best_voltage_index);
126 128
127static int mc13xxx_regulator_set_voltage(struct regulator_dev *rdev, int min_uV, 129static int mc13xxx_regulator_set_voltage(struct regulator_dev *rdev, int min_uV,
128 int max_uV, unsigned *selector) 130 int max_uV, unsigned *selector)
@@ -185,6 +187,7 @@ struct regulator_ops mc13xxx_regulator_ops = {
185 .set_voltage = mc13xxx_regulator_set_voltage, 187 .set_voltage = mc13xxx_regulator_set_voltage,
186 .get_voltage = mc13xxx_regulator_get_voltage, 188 .get_voltage = mc13xxx_regulator_get_voltage,
187}; 189};
190EXPORT_SYMBOL_GPL(mc13xxx_regulator_ops);
188 191
189int mc13xxx_fixed_regulator_set_voltage(struct regulator_dev *rdev, int min_uV, 192int mc13xxx_fixed_regulator_set_voltage(struct regulator_dev *rdev, int min_uV,
190 int max_uV, unsigned *selector) 193 int max_uV, unsigned *selector)
@@ -202,6 +205,7 @@ int mc13xxx_fixed_regulator_set_voltage(struct regulator_dev *rdev, int min_uV,
202 else 205 else
203 return -EINVAL; 206 return -EINVAL;
204} 207}
208EXPORT_SYMBOL_GPL(mc13xxx_fixed_regulator_set_voltage);
205 209
206int mc13xxx_fixed_regulator_get_voltage(struct regulator_dev *rdev) 210int mc13xxx_fixed_regulator_get_voltage(struct regulator_dev *rdev)
207{ 211{
@@ -213,6 +217,7 @@ int mc13xxx_fixed_regulator_get_voltage(struct regulator_dev *rdev)
213 217
214 return mc13xxx_regulators[id].voltages[0]; 218 return mc13xxx_regulators[id].voltages[0];
215} 219}
220EXPORT_SYMBOL_GPL(mc13xxx_fixed_regulator_get_voltage);
216 221
217struct regulator_ops mc13xxx_fixed_regulator_ops = { 222struct regulator_ops mc13xxx_fixed_regulator_ops = {
218 .enable = mc13xxx_regulator_enable, 223 .enable = mc13xxx_regulator_enable,
@@ -222,11 +227,13 @@ struct regulator_ops mc13xxx_fixed_regulator_ops = {
222 .set_voltage = mc13xxx_fixed_regulator_set_voltage, 227 .set_voltage = mc13xxx_fixed_regulator_set_voltage,
223 .get_voltage = mc13xxx_fixed_regulator_get_voltage, 228 .get_voltage = mc13xxx_fixed_regulator_get_voltage,
224}; 229};
230EXPORT_SYMBOL_GPL(mc13xxx_fixed_regulator_ops);
225 231
226int mc13xxx_sw_regulator_is_enabled(struct regulator_dev *rdev) 232int mc13xxx_sw_regulator_is_enabled(struct regulator_dev *rdev)
227{ 233{
228 return 1; 234 return 1;
229} 235}
236EXPORT_SYMBOL_GPL(mc13xxx_sw_regulator_is_enabled);
230 237
231MODULE_LICENSE("GPL v2"); 238MODULE_LICENSE("GPL v2");
232MODULE_AUTHOR("Yong Shen <yong.shen@linaro.org>"); 239MODULE_AUTHOR("Yong Shen <yong.shen@linaro.org>");