Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f887605d authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Wolfram Sang
Browse files

i2c: sh_mobile: Convert to clk_prepare/unprepare



Turn clk_enable() and clk_disable() calls into clk_prepare_enable() and
clk_disable_unprepare() to get ready for the migration to the common
clock framework.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 8c0ec250
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -235,7 +235,7 @@ static void sh_mobile_i2c_init(struct sh_mobile_i2c_data *pd)
	int offset;

	/* Get clock rate after clock is enabled */
	clk_enable(pd->clk);
	clk_prepare_enable(pd->clk);
	i2c_clk_khz = clk_get_rate(pd->clk) / 1000;
	i2c_clk_khz /= pd->clks_per_count;

@@ -270,14 +270,14 @@ static void sh_mobile_i2c_init(struct sh_mobile_i2c_data *pd)
		pd->icic &= ~ICIC_ICCHB8;

out:
	clk_disable(pd->clk);
	clk_disable_unprepare(pd->clk);
}

static void activate_ch(struct sh_mobile_i2c_data *pd)
{
	/* Wake up device and enable clock */
	pm_runtime_get_sync(pd->dev);
	clk_enable(pd->clk);
	clk_prepare_enable(pd->clk);

	/* Enable channel and configure rx ack */
	iic_set_clr(pd, ICCR, ICCR_ICE, 0);
@@ -300,7 +300,7 @@ static void deactivate_ch(struct sh_mobile_i2c_data *pd)
	iic_set_clr(pd, ICCR, 0, ICCR_ICE);

	/* Disable clock and mark device as idle */
	clk_disable(pd->clk);
	clk_disable_unprepare(pd->clk);
	pm_runtime_put_sync(pd->dev);
}