[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1422413199-17273-9-git-send-email-bjorn.andersson@sonymobile.com>
Date: Tue, 27 Jan 2015 18:46:38 -0800
From: Bjorn Andersson <bjorn.andersson@...ymobile.com>
To: Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>
CC: <agross@...eaurora.org>, <linux-kernel@...r.kernel.org>,
<patches@...nsource.wolfsonmicro.com>,
<linux-arm-msm@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>
Subject: [PATCH 8/9] regulator: Drop now unused get_optimum_mode
Signed-off-by: Bjorn Andersson <bjorn.andersson@...ymobile.com>
---
drivers/regulator/core.c | 40 ++++++++--------------------------------
include/linux/regulator/driver.h | 5 -----
2 files changed, 8 insertions(+), 37 deletions(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 2a53515..cfab6fc 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -662,7 +662,6 @@ static int drms_uA_update(struct regulator_dev *rdev)
{
struct regulator *sibling;
int current_uA = 0, output_uV, input_uV, err;
- unsigned int mode;
/*
* first check to see if we can set modes at all, otherwise just
@@ -672,14 +671,9 @@ static int drms_uA_update(struct regulator_dev *rdev)
if (err < 0)
return 0;
- if (!rdev->desc->ops->get_optimum_mode &&
- !rdev->desc->ops->set_optimum_mode)
+ if (!rdev->desc->ops->set_optimum_mode)
return 0;
- if (!rdev->desc->ops->set_mode &&
- !rdev->desc->ops->set_optimum_mode)
- return -EINVAL;
-
/* get output voltage */
output_uV = _regulator_get_voltage(rdev);
if (output_uV <= 0) {
@@ -702,31 +696,13 @@ static int drms_uA_update(struct regulator_dev *rdev)
list_for_each_entry(sibling, &rdev->consumer_list, list)
current_uA += sibling->uA_load;
- if (rdev->desc->ops->set_optimum_mode) {
- /* set the optimum mode for our new total regulator load */
- err = rdev->desc->ops->set_optimum_mode(rdev,
- input_uV, output_uV,
- current_uA);
- if (err < 0)
- rdev_err(rdev, "failed to set optimum mode @ %d uA %d -> %d uV\n",
- current_uA, input_uV, output_uV);
- } else {
- /* now get the optimum mode for our new total regulator load */
- mode = rdev->desc->ops->get_optimum_mode(rdev, input_uV,
- output_uV, current_uA);
-
- /* check the new mode is allowed */
- err = regulator_mode_constrain(rdev, &mode);
- if (err < 0) {
- rdev_err(rdev, "failed to get optimum mode @ %d uA %d -> %d uV\n",
- current_uA, input_uV, output_uV);
- return err;
- }
-
- err = rdev->desc->ops->set_mode(rdev, mode);
- if (err < 0)
- rdev_err(rdev, "failed to set optimum mode %x\n", mode);
- }
+ /* set the optimum mode for our new total regulator load */
+ err = rdev->desc->ops->set_optimum_mode(rdev,
+ input_uV, output_uV,
+ current_uA);
+ if (err < 0)
+ rdev_err(rdev, "failed to set optimum mode @ %d uA %d -> %d uV\n",
+ current_uA, input_uV, output_uV);
return err;
}
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h
index 837addb..f472cb5 100644
--- a/include/linux/regulator/driver.h
+++ b/include/linux/regulator/driver.h
@@ -95,8 +95,6 @@ struct regulator_linear_range {
* @get_mode: Get the configured operating mode for the regulator.
* @get_status: Return actual (not as-configured) status of regulator, as a
* REGULATOR_STATUS value (or negative errno)
- * @get_optimum_mode: Get the most efficient operating mode for the regulator
- * when running with the specified parameters.
* @set_optimum_mode: Set the most efficient operating mode for the regulator
* when running with the specified parameters.
*
@@ -165,9 +163,6 @@ struct regulator_ops {
*/
int (*get_status)(struct regulator_dev *);
- /* get most efficient regulator operating mode for load */
- unsigned int (*get_optimum_mode) (struct regulator_dev *, int input_uV,
- int output_uV, int load_uA);
/* set most efficient regulator operating mode for load */
int (*set_optimum_mode)(struct regulator_dev *, int input_uV,
int output_uV, int load_uA);
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists