[PATCH RESEND 3/3] regulator: max8649: Use enable_is_inverted flag with regulator_enable_regmap and friends APIs

2013-03-04 Thread Axel Lin
Signed-off-by: Axel Lin 
Reviewed-by: Haojian Zhuang 
---
 drivers/regulator/max8649.c |   39 ++-
 1 file changed, 6 insertions(+), 33 deletions(-)

diff --git a/drivers/regulator/max8649.c b/drivers/regulator/max8649.c
index 3ca1438..fdb67ff 100644
--- a/drivers/regulator/max8649.c
+++ b/drivers/regulator/max8649.c
@@ -60,36 +60,6 @@ struct max8649_regulator_info {
unsignedramp_down:1;
 };
 
-/* EN_PD means pulldown on EN input */
-static int max8649_enable(struct regulator_dev *rdev)
-{
-   struct max8649_regulator_info *info = rdev_get_drvdata(rdev);
-   return regmap_update_bits(info->regmap, MAX8649_CONTROL, MAX8649_EN_PD, 
0);
-}
-
-/*
- * Applied internal pulldown resistor on EN input pin.
- * If pulldown EN pin outside, it would be better.
- */
-static int max8649_disable(struct regulator_dev *rdev)
-{
-   struct max8649_regulator_info *info = rdev_get_drvdata(rdev);
-   return regmap_update_bits(info->regmap, MAX8649_CONTROL, MAX8649_EN_PD,
-   MAX8649_EN_PD);
-}
-
-static int max8649_is_enabled(struct regulator_dev *rdev)
-{
-   struct max8649_regulator_info *info = rdev_get_drvdata(rdev);
-   unsigned int val;
-   int ret;
-
-   ret = regmap_read(info->regmap, MAX8649_CONTROL, );
-   if (ret != 0)
-   return ret;
-   return !((unsigned char)val & MAX8649_EN_PD);
-}
-
 static int max8649_enable_time(struct regulator_dev *rdev)
 {
struct max8649_regulator_info *info = rdev_get_drvdata(rdev);
@@ -151,9 +121,9 @@ static struct regulator_ops max8649_dcdc_ops = {
.get_voltage_sel = regulator_get_voltage_sel_regmap,
.list_voltage   = regulator_list_voltage_linear,
.map_voltage= regulator_map_voltage_linear,
-   .enable = max8649_enable,
-   .disable= max8649_disable,
-   .is_enabled = max8649_is_enabled,
+   .enable = regulator_enable_regmap,
+   .disable= regulator_disable_regmap,
+   .is_enabled = regulator_is_enabled_regmap,
.enable_time= max8649_enable_time,
.set_mode   = max8649_set_mode,
.get_mode   = max8649_get_mode,
@@ -169,6 +139,9 @@ static struct regulator_desc dcdc_desc = {
.vsel_mask  = MAX8649_VOL_MASK,
.min_uV = MAX8649_DCDC_VMIN,
.uV_step= MAX8649_DCDC_STEP,
+   .enable_reg = MAX8649_CONTROL,
+   .enable_mask= MAX8649_EN_PD,
+   .enable_is_inverted = true,
 };
 
 static struct regmap_config max8649_regmap_config = {
-- 
1.7.9.5



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH RESEND 3/3] regulator: max8649: Use enable_is_inverted flag with regulator_enable_regmap and friends APIs

2013-03-04 Thread Axel Lin
Signed-off-by: Axel Lin axel@ingics.com
Reviewed-by: Haojian Zhuang haojian.zhu...@gmail.com
---
 drivers/regulator/max8649.c |   39 ++-
 1 file changed, 6 insertions(+), 33 deletions(-)

diff --git a/drivers/regulator/max8649.c b/drivers/regulator/max8649.c
index 3ca1438..fdb67ff 100644
--- a/drivers/regulator/max8649.c
+++ b/drivers/regulator/max8649.c
@@ -60,36 +60,6 @@ struct max8649_regulator_info {
unsignedramp_down:1;
 };
 
-/* EN_PD means pulldown on EN input */
-static int max8649_enable(struct regulator_dev *rdev)
-{
-   struct max8649_regulator_info *info = rdev_get_drvdata(rdev);
-   return regmap_update_bits(info-regmap, MAX8649_CONTROL, MAX8649_EN_PD, 
0);
-}
-
-/*
- * Applied internal pulldown resistor on EN input pin.
- * If pulldown EN pin outside, it would be better.
- */
-static int max8649_disable(struct regulator_dev *rdev)
-{
-   struct max8649_regulator_info *info = rdev_get_drvdata(rdev);
-   return regmap_update_bits(info-regmap, MAX8649_CONTROL, MAX8649_EN_PD,
-   MAX8649_EN_PD);
-}
-
-static int max8649_is_enabled(struct regulator_dev *rdev)
-{
-   struct max8649_regulator_info *info = rdev_get_drvdata(rdev);
-   unsigned int val;
-   int ret;
-
-   ret = regmap_read(info-regmap, MAX8649_CONTROL, val);
-   if (ret != 0)
-   return ret;
-   return !((unsigned char)val  MAX8649_EN_PD);
-}
-
 static int max8649_enable_time(struct regulator_dev *rdev)
 {
struct max8649_regulator_info *info = rdev_get_drvdata(rdev);
@@ -151,9 +121,9 @@ static struct regulator_ops max8649_dcdc_ops = {
.get_voltage_sel = regulator_get_voltage_sel_regmap,
.list_voltage   = regulator_list_voltage_linear,
.map_voltage= regulator_map_voltage_linear,
-   .enable = max8649_enable,
-   .disable= max8649_disable,
-   .is_enabled = max8649_is_enabled,
+   .enable = regulator_enable_regmap,
+   .disable= regulator_disable_regmap,
+   .is_enabled = regulator_is_enabled_regmap,
.enable_time= max8649_enable_time,
.set_mode   = max8649_set_mode,
.get_mode   = max8649_get_mode,
@@ -169,6 +139,9 @@ static struct regulator_desc dcdc_desc = {
.vsel_mask  = MAX8649_VOL_MASK,
.min_uV = MAX8649_DCDC_VMIN,
.uV_step= MAX8649_DCDC_STEP,
+   .enable_reg = MAX8649_CONTROL,
+   .enable_mask= MAX8649_EN_PD,
+   .enable_is_inverted = true,
 };
 
 static struct regmap_config max8649_regmap_config = {
-- 
1.7.9.5



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/