Merge remote-tracking branch 'regulator/topic/core' into regulator-next
authorMark Brown <broonie@linaro.org>
Mon, 2 Jun 2014 16:08:02 +0000 (17:08 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 2 Jun 2014 16:08:02 +0000 (17:08 +0100)
drivers/regulator/core.c
drivers/regulator/devres.c
include/linux/mfd/core.h
include/linux/regulator/consumer.h

index d70f00f8fc66696b9fb863ef23b4e2c38d9c8e0d..4f0198a2524abe976a9a82bda4603b0d65073243 100644 (file)
@@ -1439,9 +1439,9 @@ EXPORT_SYMBOL_GPL(regulator_get);
  *
  * Returns a struct regulator corresponding to the regulator producer,
  * or IS_ERR() condition containing errno.  Other consumers will be
- * unable to obtain this reference is held and the use count for the
- * regulator will be initialised to reflect the current state of the
- * regulator.
+ * unable to obtain this regulator while this reference is held and the
+ * use count for the regulator will be initialised to reflect the current
+ * state of the regulator.
  *
  * This is intended for use by consumers which cannot tolerate shared
  * use of the regulator such as those which need to force the
@@ -1465,10 +1465,7 @@ EXPORT_SYMBOL_GPL(regulator_get_exclusive);
  * @id: Supply name or regulator ID.
  *
  * Returns a struct regulator corresponding to the regulator producer,
- * or IS_ERR() condition containing errno.  Other consumers will be
- * unable to obtain this reference is held and the use count for the
- * regulator will be initialised to reflect the current state of the
- * regulator.
+ * or IS_ERR() condition containing errno.
  *
  * This is intended for use by consumers for devices which can have
  * some supplies unconnected in normal use, such as some MMC devices.
@@ -1606,9 +1603,10 @@ EXPORT_SYMBOL_GPL(regulator_unregister_supply_alias);
  * registered any aliases that were registered will be removed
  * before returning to the caller.
  */
-int regulator_bulk_register_supply_alias(struct device *dev, const char **id,
+int regulator_bulk_register_supply_alias(struct device *dev,
+                                        const char *const *id,
                                         struct device *alias_dev,
-                                        const char **alias_id,
+                                        const char *const *alias_id,
                                         int num_id)
 {
        int i;
@@ -1646,7 +1644,7 @@ EXPORT_SYMBOL_GPL(regulator_bulk_register_supply_alias);
  * aliases in one operation.
  */
 void regulator_bulk_unregister_supply_alias(struct device *dev,
-                                           const char **id,
+                                           const char *const *id,
                                            int num_id)
 {
        int i;
@@ -2330,6 +2328,10 @@ static int _regulator_do_set_voltage(struct regulator_dev *rdev,
                            regulator_list_voltage_linear)
                                ret = regulator_map_voltage_linear(rdev,
                                                                min_uV, max_uV);
+                       else if (rdev->desc->ops->list_voltage ==
+                                regulator_list_voltage_linear_range)
+                               ret = regulator_map_voltage_linear_range(rdev,
+                                                               min_uV, max_uV);
                        else
                                ret = regulator_map_voltage_iterate(rdev,
                                                                min_uV, max_uV);
index f44818b838dc2d2da8fba4833e7e8d2e8893e8a1..8f785bc9e5108519525f0908b3d3e3d097b67816 100644 (file)
@@ -360,9 +360,9 @@ EXPORT_SYMBOL_GPL(devm_regulator_unregister_supply_alias);
  * will be removed before returning to the caller.
  */
 int devm_regulator_bulk_register_supply_alias(struct device *dev,
-                                             const char **id,
+                                             const char *const *id,
                                              struct device *alias_dev,
-                                             const char **alias_id,
+                                             const char *const *alias_id,
                                              int num_id)
 {
        int i;
@@ -404,7 +404,7 @@ EXPORT_SYMBOL_GPL(devm_regulator_bulk_register_supply_alias);
  * will ensure that the resource is freed.
  */
 void devm_regulator_bulk_unregister_supply_alias(struct device *dev,
-                                                const char **id,
+                                                const char *const *id,
                                                 int num_id)
 {
        int i;
index bdba8c61207bb7b892e63eff49d81cfdf2f3538a..f543de91ce19d91ae6c0eb065f8687061581ea64 100644 (file)
@@ -63,7 +63,7 @@ struct mfd_cell {
        /* A list of regulator supplies that should be mapped to the MFD
         * device rather than the child device when requested
         */
-       const char              **parent_supplies;
+       const char * const      *parent_supplies;
        int                     num_parent_supplies;
 };
 
index 1a4a8c157b31a7eb8cf3e9c1bedba8ab64354542..ccd3d777ee03c8ece2d0a4b050dc752a8f87881a 100644 (file)
@@ -151,11 +151,13 @@ int regulator_register_supply_alias(struct device *dev, const char *id,
                                    const char *alias_id);
 void regulator_unregister_supply_alias(struct device *dev, const char *id);
 
-int regulator_bulk_register_supply_alias(struct device *dev, const char **id,
+int regulator_bulk_register_supply_alias(struct device *dev,
+                                        const char *const *id,
                                         struct device *alias_dev,
-                                        const char **alias_id, int num_id);
+                                        const char *const *alias_id,
+                                        int num_id);
 void regulator_bulk_unregister_supply_alias(struct device *dev,
-                                           const char **id, int num_id);
+                                           const char * const *id, int num_id);
 
 int devm_regulator_register_supply_alias(struct device *dev, const char *id,
                                         struct device *alias_dev,
@@ -164,12 +166,12 @@ void devm_regulator_unregister_supply_alias(struct device *dev,
                                            const char *id);
 
 int devm_regulator_bulk_register_supply_alias(struct device *dev,
-                                             const char **id,
+                                             const char *const *id,
                                              struct device *alias_dev,
-                                             const char **alias_id,
+                                             const char *const *alias_id,
                                              int num_id);
 void devm_regulator_bulk_unregister_supply_alias(struct device *dev,
-                                                const char **id,
+                                                const char *const *id,
                                                 int num_id);
 
 /* regulator output control and status */
@@ -290,17 +292,17 @@ static inline void regulator_unregister_supply_alias(struct device *dev,
 }
 
 static inline int regulator_bulk_register_supply_alias(struct device *dev,
-                                                      const char **id,
-                                                      struct device *alias_dev,
-                                                      const char **alias_id,
-                                                      int num_id)
+                                               const char *const *id,
+                                               struct device *alias_dev,
+                                               const char * const *alias_id,
+                                               int num_id)
 {
        return 0;
 }
 
 static inline void regulator_bulk_unregister_supply_alias(struct device *dev,
-                                                         const char **id,
-                                                         int num_id)
+                                               const char * const *id,
+                                               int num_id)
 {
 }
 
@@ -317,15 +319,17 @@ static inline void devm_regulator_unregister_supply_alias(struct device *dev,
 {
 }
 
-static inline int devm_regulator_bulk_register_supply_alias(
-               struct device *dev, const char **id, struct device *alias_dev,
-               const char **alias_id, int num_id)
+static inline int devm_regulator_bulk_register_supply_alias(struct device *dev,
+                                               const char *const *id,
+                                               struct device *alias_dev,
+                                               const char *const *alias_id,
+                                               int num_id)
 {
        return 0;
 }
 
 static inline void devm_regulator_bulk_unregister_supply_alias(
-               struct device *dev, const char **id, int num_id)
+       struct device *dev, const char *const *id, int num_id)
 {
 }