OSDN Git Service

regulator: Provide mode to status conversion function
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 4 Aug 2009 18:09:52 +0000 (20:09 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 17 Sep 2009 07:47:05 +0000 (09:47 +0200)
This is useful for implementing get_status() in terms of get_mode().

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/regulator/core.c
include/linux/regulator/driver.h

index 98c3a74..91ba9bf 100644 (file)
@@ -1864,6 +1864,30 @@ int regulator_notifier_call_chain(struct regulator_dev *rdev,
 }
 EXPORT_SYMBOL_GPL(regulator_notifier_call_chain);
 
+/**
+ * regulator_mode_to_status - convert a regulator mode into a status
+ *
+ * @mode: Mode to convert
+ *
+ * Convert a regulator mode into a status.
+ */
+int regulator_mode_to_status(unsigned int mode)
+{
+       switch (mode) {
+       case REGULATOR_MODE_FAST:
+               return REGULATOR_STATUS_FAST;
+       case REGULATOR_MODE_NORMAL:
+               return REGULATOR_STATUS_NORMAL;
+       case REGULATOR_MODE_IDLE:
+               return REGULATOR_STATUS_IDLE;
+       case REGULATOR_STATUS_STANDBY:
+               return REGULATOR_STATUS_STANDBY;
+       default:
+               return 0;
+       }
+}
+EXPORT_SYMBOL_GPL(regulator_mode_to_status);
+
 /*
  * To avoid cluttering sysfs (and memory) with useless state, only
  * create attributes that can be meaningfully displayed.
index 225f733..ce1be70 100644 (file)
@@ -193,6 +193,8 @@ void *rdev_get_drvdata(struct regulator_dev *rdev);
 struct device *rdev_get_dev(struct regulator_dev *rdev);
 int rdev_get_id(struct regulator_dev *rdev);
 
+int regulator_mode_to_status(unsigned int);
+
 void *regulator_get_init_drvdata(struct regulator_init_data *reg_init_data);
 
 #endif