diff mbox series

[19/40] mfd: ti_am335x_tscadc: Always provide an idle configuration

Message ID 20210825152518.379386-20-miquel.raynal@bootlin.com
State Superseded
Headers show
Series TI AM437X ADC1 | expand

Commit Message

Miquel Raynal Aug. 25, 2021, 3:24 p.m. UTC
The idle register is valid no matter if the touchscreen is used or not,
let's always configure it.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
 drivers/mfd/ti_am335x_tscadc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Jonathan Cameron Aug. 30, 2021, 2:49 p.m. UTC | #1
On Wed, 25 Aug 2021 17:24:57 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:

> The idle register is valid no matter if the touchscreen is used or not,

> let's always configure it.

Probably want a statement in here about the reordering that occurred in resume.

J

> 

> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---

>  drivers/mfd/ti_am335x_tscadc.c | 6 +++---

>  1 file changed, 3 insertions(+), 3 deletions(-)

> 

> diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c

> index 258199be4c6a..7071344ad18e 100644

> --- a/drivers/mfd/ti_am335x_tscadc.c

> +++ b/drivers/mfd/ti_am335x_tscadc.c

> @@ -218,16 +218,16 @@ static	int ti_tscadc_probe(struct platform_device *pdev)

>  	ctrl = CNTRLREG_STEPCONFIGWRT |	CNTRLREG_STEPID;

>  	regmap_write(tscadc->regmap, REG_CTRL, ctrl);

>  

> -	/* Set register bits for Idle Config Mode */

>  	if (tsc_wires > 0) {

>  		tscadc->tsc_wires = tsc_wires;

>  		if (tsc_wires == 5)

>  			ctrl |= CNTRLREG_5WIRE | CNTRLREG_TSCENB;

>  		else

>  			ctrl |= CNTRLREG_4WIRE | CNTRLREG_TSCENB;

> -		tscadc_idle_config(tscadc);

>  	}

>  

> +	tscadc_idle_config(tscadc);

> +

>  	/* Enable the TSC module enable bit */

>  	ctrl |= CNTRLREG_TSCSSENB;

>  	regmap_write(tscadc->regmap, REG_CTRL, ctrl);

> @@ -318,12 +318,12 @@ static int __maybe_unused tscadc_resume(struct device *dev)

>  			ctrl |= CNTRLREG_5WIRE | CNTRLREG_TSCENB;

>  		else

>  			ctrl |= CNTRLREG_4WIRE | CNTRLREG_TSCENB;

> -		tscadc_idle_config(tscadc);

>  	}

>  	ctrl |= CNTRLREG_TSCSSENB;

>  	regmap_write(tscadc->regmap, REG_CTRL, ctrl);

>  

>  	regmap_write(tscadc->regmap, REG_CLKDIV, tscadc->clk_div);

> +	tscadc_idle_config(tscadc);

>  

>  	return 0;

>  }
diff mbox series

Patch

diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c
index 258199be4c6a..7071344ad18e 100644
--- a/drivers/mfd/ti_am335x_tscadc.c
+++ b/drivers/mfd/ti_am335x_tscadc.c
@@ -218,16 +218,16 @@  static	int ti_tscadc_probe(struct platform_device *pdev)
 	ctrl = CNTRLREG_STEPCONFIGWRT |	CNTRLREG_STEPID;
 	regmap_write(tscadc->regmap, REG_CTRL, ctrl);
 
-	/* Set register bits for Idle Config Mode */
 	if (tsc_wires > 0) {
 		tscadc->tsc_wires = tsc_wires;
 		if (tsc_wires == 5)
 			ctrl |= CNTRLREG_5WIRE | CNTRLREG_TSCENB;
 		else
 			ctrl |= CNTRLREG_4WIRE | CNTRLREG_TSCENB;
-		tscadc_idle_config(tscadc);
 	}
 
+	tscadc_idle_config(tscadc);
+
 	/* Enable the TSC module enable bit */
 	ctrl |= CNTRLREG_TSCSSENB;
 	regmap_write(tscadc->regmap, REG_CTRL, ctrl);
@@ -318,12 +318,12 @@  static int __maybe_unused tscadc_resume(struct device *dev)
 			ctrl |= CNTRLREG_5WIRE | CNTRLREG_TSCENB;
 		else
 			ctrl |= CNTRLREG_4WIRE | CNTRLREG_TSCENB;
-		tscadc_idle_config(tscadc);
 	}
 	ctrl |= CNTRLREG_TSCSSENB;
 	regmap_write(tscadc->regmap, REG_CTRL, ctrl);
 
 	regmap_write(tscadc->regmap, REG_CLKDIV, tscadc->clk_div);
+	tscadc_idle_config(tscadc);
 
 	return 0;
 }