[RFT] i2c: sh_mobile: let RuntimePM do the clock handling

Message ID 20171108085037.1318-1-wsa+renesas@sang-engineering.com
State New
Headers show
Series
  • [RFT] i2c: sh_mobile: let RuntimePM do the clock handling
Related show

Commit Message

Wolfram Sang Nov. 8, 2017, 8:50 a.m.
No need to do it manually.

Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---

jacopo: can you test this on Migo-R, please, on top of the other I2C patches?

I tested it on a Lager and it worked there. Will try Gen3 later, too.

 drivers/i2c/busses/i2c-sh_mobile.c | 2 --
 1 file changed, 2 deletions(-)

Comments

jacopo mondi Nov. 8, 2017, 6:41 p.m. | #1
Hi Wolfram,

On Wed, Nov 08, 2017 at 09:50:37AM +0100, Wolfram Sang wrote:
> No need to do it manually.
>
> Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
>
> jacopo: can you test this on Migo-R, please, on top of the other I2C patches?

Done.

No appreciable differences with this patch applied, the image sensor
is properly detected and I can grab an image.

For this one as well:
Tested-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

Thanks
   j
>
> I tested it on a Lager and it worked there. Will try Gen3 later, too.
>
>  drivers/i2c/busses/i2c-sh_mobile.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
> index ebd146ccb24465..80561ffbcf7b46 100644
> --- a/drivers/i2c/busses/i2c-sh_mobile.c
> +++ b/drivers/i2c/busses/i2c-sh_mobile.c
> @@ -702,7 +702,6 @@ static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter,
>
>  	/* Wake up device and enable clock */
>  	pm_runtime_get_sync(pd->dev);
> -	clk_prepare_enable(pd->clk);
>
>  	/* Process all messages */
>  	for (i = 0; i < num; i++) {
> @@ -743,7 +742,6 @@ static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter,
>  	iic_wr(pd, ICCR, 0);
>
>  	/* Disable clock and mark device as idle */
> -	clk_disable_unprepare(pd->clk);
>  	pm_runtime_put_sync(pd->dev);
>
>  	return err ?: num;
> --
> 2.11.0
>
Wolfram Sang Nov. 8, 2017, 9:07 p.m. | #2
> For this one as well:
> Tested-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

Thanks, Jacopo!

Patch

diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
index ebd146ccb24465..80561ffbcf7b46 100644
--- a/drivers/i2c/busses/i2c-sh_mobile.c
+++ b/drivers/i2c/busses/i2c-sh_mobile.c
@@ -702,7 +702,6 @@  static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter,
 
 	/* Wake up device and enable clock */
 	pm_runtime_get_sync(pd->dev);
-	clk_prepare_enable(pd->clk);
 
 	/* Process all messages */
 	for (i = 0; i < num; i++) {
@@ -743,7 +742,6 @@  static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter,
 	iic_wr(pd, ICCR, 0);
 
 	/* Disable clock and mark device as idle */
-	clk_disable_unprepare(pd->clk);
 	pm_runtime_put_sync(pd->dev);
 
 	return err ?: num;