Re: [PATCH RFT] regulator: tps6105x: Convert to use regmap helper functions

2015-10-07 Thread Mark Brown
On Wed, Oct 07, 2015 at 08:47:17AM +0800, Axel Lin wrote:
> Since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access
> registers"), we can use regmap helper functions instead of open coded.

I'll merge this after the merge window.


signature.asc
Description: Digital signature


Re: [PATCH RFT] regulator: tps6105x: Convert to use regmap helper functions

2015-10-07 Thread Grigoryev Denis
Hi,

On Wed., 07/10/2015 08:47 +0800, Axel Lin wrote:
> Since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access
> registers"), we can use regmap helper functions instead of open coded.
> 
> Signed-off-by: Axel Lin 
> ---
> Hi Grigoryev,
> I don't have this h/w, can you help test this patch? Thanks.
> 

Working fine on ARM Freescale IMX6Q machine mfd git tree. Regulator tested
for enable/disable and voltage change.

Tested-by: Denis Grigoryev 

Regards,
Denis


Re: [PATCH RFT] regulator: tps6105x: Convert to use regmap helper functions

2015-10-07 Thread Grigoryev Denis
Hi,

On Wed., 07/10/2015 08:47 +0800, Axel Lin wrote:
> Since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access
> registers"), we can use regmap helper functions instead of open coded.
> 
> Signed-off-by: Axel Lin 
> ---
> Hi Grigoryev,
> I don't have this h/w, can you help test this patch? Thanks.
> 

Working fine on ARM Freescale IMX6Q machine mfd git tree. Regulator tested
for enable/disable and voltage change.

Tested-by: Denis Grigoryev 

Regards,
Denis


Re: [PATCH RFT] regulator: tps6105x: Convert to use regmap helper functions

2015-10-07 Thread Mark Brown
On Wed, Oct 07, 2015 at 08:47:17AM +0800, Axel Lin wrote:
> Since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access
> registers"), we can use regmap helper functions instead of open coded.

I'll merge this after the merge window.


signature.asc
Description: Digital signature


[PATCH RFT] regulator: tps6105x: Convert to use regmap helper functions

2015-10-06 Thread Axel Lin
Since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access
registers"), we can use regmap helper functions instead of open coded.

Signed-off-by: Axel Lin 
---
Hi Grigoryev,
I don't have this h/w, can you help test this patch? Thanks.

This patch depends on commit 7e5071199355
"mfd: tps6105x: Use i2c regmap to access registers" which is currently
in mfd tree.

 drivers/regulator/tps6105x-regulator.c | 95 +-
 1 file changed, 12 insertions(+), 83 deletions(-)

diff --git a/drivers/regulator/tps6105x-regulator.c 
b/drivers/regulator/tps6105x-regulator.c
index ddc4f10..584ef3d 100644
--- a/drivers/regulator/tps6105x-regulator.c
+++ b/drivers/regulator/tps6105x-regulator.c
@@ -27,90 +27,12 @@ static const unsigned int tps6105x_voltages[] = {
500, /* There is an additional 5V */
 };
 
-static int tps6105x_regulator_enable(struct regulator_dev *rdev)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   int ret;
-
-   /* Activate voltage mode */
-   ret = regmap_update_bits(tps6105x->regmap, TPS6105X_REG_0,
-   TPS6105X_REG0_MODE_MASK,
-   TPS6105X_REG0_MODE_VOLTAGE << TPS6105X_REG0_MODE_SHIFT);
-   if (ret)
-   return ret;
-
-   return 0;
-}
-
-static int tps6105x_regulator_disable(struct regulator_dev *rdev)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   int ret;
-
-   /* Set into shutdown mode */
-   ret = regmap_update_bits(tps6105x->regmap, TPS6105X_REG_0,
-   TPS6105X_REG0_MODE_MASK,
-   TPS6105X_REG0_MODE_SHUTDOWN << TPS6105X_REG0_MODE_SHIFT);
-   if (ret)
-   return ret;
-
-   return 0;
-}
-
-static int tps6105x_regulator_is_enabled(struct regulator_dev *rdev)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   unsigned int regval;
-   int ret;
-
-   ret = regmap_read(tps6105x->regmap, TPS6105X_REG_0, );
-   if (ret)
-   return ret;
-   regval &= TPS6105X_REG0_MODE_MASK;
-   regval >>= TPS6105X_REG0_MODE_SHIFT;
-
-   if (regval == TPS6105X_REG0_MODE_VOLTAGE)
-   return 1;
-
-   return 0;
-}
-
-static int tps6105x_regulator_get_voltage_sel(struct regulator_dev *rdev)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   unsigned int regval;
-   int ret;
-
-   ret = regmap_read(tps6105x->regmap, TPS6105X_REG_0, );
-   if (ret)
-   return ret;
-
-   regval &= TPS6105X_REG0_VOLTAGE_MASK;
-   regval >>= TPS6105X_REG0_VOLTAGE_SHIFT;
-   return (int) regval;
-}
-
-static int tps6105x_regulator_set_voltage_sel(struct regulator_dev *rdev,
- unsigned selector)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   int ret;
-
-   ret = regmap_update_bits(tps6105x->regmap, TPS6105X_REG_0,
-   TPS6105X_REG0_VOLTAGE_MASK,
-   selector << TPS6105X_REG0_VOLTAGE_SHIFT);
-   if (ret)
-   return ret;
-
-   return 0;
-}
-
 static struct regulator_ops tps6105x_regulator_ops = {
-   .enable = tps6105x_regulator_enable,
-   .disable= tps6105x_regulator_disable,
-   .is_enabled = tps6105x_regulator_is_enabled,
-   .get_voltage_sel = tps6105x_regulator_get_voltage_sel,
-   .set_voltage_sel = tps6105x_regulator_set_voltage_sel,
+   .enable = regulator_enable_regmap,
+   .disable= regulator_disable_regmap,
+   .is_enabled = regulator_is_enabled_regmap,
+   .get_voltage_sel = regulator_get_voltage_sel_regmap,
+   .set_voltage_sel = regulator_set_voltage_sel_regmap,
.list_voltage   = regulator_list_voltage_table,
 };
 
@@ -122,6 +44,12 @@ static const struct regulator_desc tps6105x_regulator_desc 
= {
.owner  = THIS_MODULE,
.n_voltages = ARRAY_SIZE(tps6105x_voltages),
.volt_table = tps6105x_voltages,
+   .vsel_reg   = TPS6105X_REG_0,
+   .vsel_mask  = TPS6105X_REG0_VOLTAGE_MASK,
+   .enable_reg = TPS6105X_REG_0,
+   .enable_mask= TPS6105X_REG0_MODE_MASK,
+   .enable_val = TPS6105X_REG0_MODE_VOLTAGE <<
+ TPS6105X_REG0_MODE_SHIFT,
 };
 
 /*
@@ -144,6 +72,7 @@ static int tps6105x_regulator_probe(struct platform_device 
*pdev)
config.dev = >client->dev;
config.init_data = pdata->regulator_data;
config.driver_data = tps6105x;
+   config.regmap = tps6105x->regmap;
 
/* Register regulator with framework */
tps6105x->regulator = devm_regulator_register(>dev,
-- 
2.1.4



--
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 RFT] regulator: tps6105x: Convert to use regmap helper functions

2015-10-06 Thread Axel Lin
Since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access
registers"), we can use regmap helper functions instead of open coded.

Signed-off-by: Axel Lin 
---
Hi Grigoryev,
I don't have this h/w, can you help test this patch? Thanks.

This patch depends on commit 7e5071199355
"mfd: tps6105x: Use i2c regmap to access registers" which is currently
in mfd tree.

 drivers/regulator/tps6105x-regulator.c | 95 +-
 1 file changed, 12 insertions(+), 83 deletions(-)

diff --git a/drivers/regulator/tps6105x-regulator.c 
b/drivers/regulator/tps6105x-regulator.c
index ddc4f10..584ef3d 100644
--- a/drivers/regulator/tps6105x-regulator.c
+++ b/drivers/regulator/tps6105x-regulator.c
@@ -27,90 +27,12 @@ static const unsigned int tps6105x_voltages[] = {
500, /* There is an additional 5V */
 };
 
-static int tps6105x_regulator_enable(struct regulator_dev *rdev)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   int ret;
-
-   /* Activate voltage mode */
-   ret = regmap_update_bits(tps6105x->regmap, TPS6105X_REG_0,
-   TPS6105X_REG0_MODE_MASK,
-   TPS6105X_REG0_MODE_VOLTAGE << TPS6105X_REG0_MODE_SHIFT);
-   if (ret)
-   return ret;
-
-   return 0;
-}
-
-static int tps6105x_regulator_disable(struct regulator_dev *rdev)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   int ret;
-
-   /* Set into shutdown mode */
-   ret = regmap_update_bits(tps6105x->regmap, TPS6105X_REG_0,
-   TPS6105X_REG0_MODE_MASK,
-   TPS6105X_REG0_MODE_SHUTDOWN << TPS6105X_REG0_MODE_SHIFT);
-   if (ret)
-   return ret;
-
-   return 0;
-}
-
-static int tps6105x_regulator_is_enabled(struct regulator_dev *rdev)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   unsigned int regval;
-   int ret;
-
-   ret = regmap_read(tps6105x->regmap, TPS6105X_REG_0, );
-   if (ret)
-   return ret;
-   regval &= TPS6105X_REG0_MODE_MASK;
-   regval >>= TPS6105X_REG0_MODE_SHIFT;
-
-   if (regval == TPS6105X_REG0_MODE_VOLTAGE)
-   return 1;
-
-   return 0;
-}
-
-static int tps6105x_regulator_get_voltage_sel(struct regulator_dev *rdev)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   unsigned int regval;
-   int ret;
-
-   ret = regmap_read(tps6105x->regmap, TPS6105X_REG_0, );
-   if (ret)
-   return ret;
-
-   regval &= TPS6105X_REG0_VOLTAGE_MASK;
-   regval >>= TPS6105X_REG0_VOLTAGE_SHIFT;
-   return (int) regval;
-}
-
-static int tps6105x_regulator_set_voltage_sel(struct regulator_dev *rdev,
- unsigned selector)
-{
-   struct tps6105x *tps6105x = rdev_get_drvdata(rdev);
-   int ret;
-
-   ret = regmap_update_bits(tps6105x->regmap, TPS6105X_REG_0,
-   TPS6105X_REG0_VOLTAGE_MASK,
-   selector << TPS6105X_REG0_VOLTAGE_SHIFT);
-   if (ret)
-   return ret;
-
-   return 0;
-}
-
 static struct regulator_ops tps6105x_regulator_ops = {
-   .enable = tps6105x_regulator_enable,
-   .disable= tps6105x_regulator_disable,
-   .is_enabled = tps6105x_regulator_is_enabled,
-   .get_voltage_sel = tps6105x_regulator_get_voltage_sel,
-   .set_voltage_sel = tps6105x_regulator_set_voltage_sel,
+   .enable = regulator_enable_regmap,
+   .disable= regulator_disable_regmap,
+   .is_enabled = regulator_is_enabled_regmap,
+   .get_voltage_sel = regulator_get_voltage_sel_regmap,
+   .set_voltage_sel = regulator_set_voltage_sel_regmap,
.list_voltage   = regulator_list_voltage_table,
 };
 
@@ -122,6 +44,12 @@ static const struct regulator_desc tps6105x_regulator_desc 
= {
.owner  = THIS_MODULE,
.n_voltages = ARRAY_SIZE(tps6105x_voltages),
.volt_table = tps6105x_voltages,
+   .vsel_reg   = TPS6105X_REG_0,
+   .vsel_mask  = TPS6105X_REG0_VOLTAGE_MASK,
+   .enable_reg = TPS6105X_REG_0,
+   .enable_mask= TPS6105X_REG0_MODE_MASK,
+   .enable_val = TPS6105X_REG0_MODE_VOLTAGE <<
+ TPS6105X_REG0_MODE_SHIFT,
 };
 
 /*
@@ -144,6 +72,7 @@ static int tps6105x_regulator_probe(struct platform_device 
*pdev)
config.dev = >client->dev;
config.init_data = pdata->regulator_data;
config.driver_data = tps6105x;
+   config.regmap = tps6105x->regmap;
 
/* Register regulator with framework */
tps6105x->regulator = devm_regulator_register(>dev,
-- 
2.1.4



--
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/