]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
regulator: Allow modular build of mc13xxx-core
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 15 Dec 2010 14:10:25 +0000 (14:10 +0000)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Wed, 12 Jan 2011 14:33:03 +0000 (14:33 +0000)
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>
drivers/regulator/Kconfig
drivers/regulator/mc13xxx-regulator-core.c

index 485a9bc88ca9e1eb60b517ee15b1b6a219721898..e1d943619ab80b53d7bb69b41851d9703d1bd436 100644 (file)
@@ -187,7 +187,7 @@ config REGULATOR_PCAP
         PCAP2 PMIC.
 
 config REGULATOR_MC13XXX_CORE
-       bool
+       tristate
 
 config REGULATOR_MC13783
        tristate "Support regulators on Freescale MC13783 PMIC"
index 448e8f4cf41bd9ac894b767c3a79f53be91155ef..f53d31b950d4c16b2ac3befd6833c0022a639f42 100644 (file)
@@ -89,6 +89,7 @@ int mc13xxx_regulator_list_voltage(struct regulator_dev *rdev,
 
        return mc13xxx_regulators[id].voltages[selector];
 }
+EXPORT_SYMBOL_GPL(mc13xxx_regulator_list_voltage);
 
 int mc13xxx_get_best_voltage_index(struct regulator_dev *rdev,
                                                int min_uV, int max_uV)
@@ -123,6 +124,7 @@ int mc13xxx_get_best_voltage_index(struct regulator_dev *rdev,
        }
        return bestindex;
 }
+EXPORT_SYMBOL_GPL(mc13xxx_get_best_voltage_index);
 
 static int mc13xxx_regulator_set_voltage(struct regulator_dev *rdev, int min_uV,
                int max_uV, unsigned *selector)
@@ -185,6 +187,7 @@ struct regulator_ops mc13xxx_regulator_ops = {
        .set_voltage = mc13xxx_regulator_set_voltage,
        .get_voltage = mc13xxx_regulator_get_voltage,
 };
+EXPORT_SYMBOL_GPL(mc13xxx_regulator_ops);
 
 int mc13xxx_fixed_regulator_set_voltage(struct regulator_dev *rdev, int min_uV,
               int max_uV, unsigned *selector)
@@ -202,6 +205,7 @@ int mc13xxx_fixed_regulator_set_voltage(struct regulator_dev *rdev, int min_uV,
        else
                return -EINVAL;
 }
+EXPORT_SYMBOL_GPL(mc13xxx_fixed_regulator_set_voltage);
 
 int mc13xxx_fixed_regulator_get_voltage(struct regulator_dev *rdev)
 {
@@ -213,6 +217,7 @@ int mc13xxx_fixed_regulator_get_voltage(struct regulator_dev *rdev)
 
        return mc13xxx_regulators[id].voltages[0];
 }
+EXPORT_SYMBOL_GPL(mc13xxx_fixed_regulator_get_voltage);
 
 struct regulator_ops mc13xxx_fixed_regulator_ops = {
        .enable = mc13xxx_regulator_enable,
@@ -222,11 +227,13 @@ struct regulator_ops mc13xxx_fixed_regulator_ops = {
        .set_voltage = mc13xxx_fixed_regulator_set_voltage,
        .get_voltage = mc13xxx_fixed_regulator_get_voltage,
 };
+EXPORT_SYMBOL_GPL(mc13xxx_fixed_regulator_ops);
 
 int mc13xxx_sw_regulator_is_enabled(struct regulator_dev *rdev)
 {
        return 1;
 }
+EXPORT_SYMBOL_GPL(mc13xxx_sw_regulator_is_enabled);
 
 MODULE_LICENSE("GPL v2");
 MODULE_AUTHOR("Yong Shen <yong.shen@linaro.org>");