Patchwork [02/12] arm/mxs: convert platform code to clk_prepare/clk_unprepare

login
register
mail settings
Submitter Shawn Guo
Date Dec. 20, 2011, noon
Message ID <1324382443-4439-3-git-send-email-shawn.guo@linaro.org>
Download mbox | patch
Permalink /patch/132406/
State New
Headers show

Comments

Shawn Guo - Dec. 20, 2011, noon
The patch converts mxs platform code to clk_prepare/clk_unprepare
by using helper functions clk_prepare_enable/clk_disable_unprepare.

Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
---
 arch/arm/mach-mxs/clock-mx23.c   |   10 +++++-----
 arch/arm/mach-mxs/clock-mx28.c   |   10 +++++-----
 arch/arm/mach-mxs/clock.c        |    2 +-
 arch/arm/mach-mxs/mach-mx28evk.c |    2 +-
 arch/arm/mach-mxs/system.c       |    2 +-
 arch/arm/mach-mxs/timer.c        |    2 +-
 6 files changed, 14 insertions(+), 14 deletions(-)
Marek Vasut - Dec. 20, 2011, 1:44 p.m.
> The patch converts mxs platform code to clk_prepare/clk_unprepare
> by using helper functions clk_prepare_enable/clk_disable_unprepare.
> 
> Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> ---
>  arch/arm/mach-mxs/clock-mx23.c   |   10 +++++-----
>  arch/arm/mach-mxs/clock-mx28.c   |   10 +++++-----
>  arch/arm/mach-mxs/clock.c        |    2 +-
>  arch/arm/mach-mxs/mach-mx28evk.c |    2 +-
>  arch/arm/mach-mxs/system.c       |    2 +-
>  arch/arm/mach-mxs/timer.c        |    2 +-
>  6 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/arch/arm/mach-mxs/clock-mx23.c
> b/arch/arm/mach-mxs/clock-mx23.c index 0163b6d..e12e112 100644
> --- a/arch/arm/mach-mxs/clock-mx23.c
> +++ b/arch/arm/mach-mxs/clock-mx23.c
> @@ -545,11 +545,11 @@ int __init mx23_clocks_init(void)
>  	 */
>  	clk_set_parent(&ssp_clk, &ref_io_clk);
> 
> -	clk_enable(&cpu_clk);
> -	clk_enable(&hbus_clk);
> -	clk_enable(&xbus_clk);
> -	clk_enable(&emi_clk);
> -	clk_enable(&uart_clk);
> +	clk_prepare_enable(&cpu_clk);
> +	clk_prepare_enable(&hbus_clk);
> +	clk_prepare_enable(&xbus_clk);
> +	clk_prepare_enable(&emi_clk);
> +	clk_prepare_enable(&uart_clk);
> 
>  	clkdev_add_table(lookups, ARRAY_SIZE(lookups));
> 
> diff --git a/arch/arm/mach-mxs/clock-mx28.c
> b/arch/arm/mach-mxs/clock-mx28.c index da6e4aa..f85f1f5 100644
> --- a/arch/arm/mach-mxs/clock-mx28.c
> +++ b/arch/arm/mach-mxs/clock-mx28.c
> @@ -775,11 +775,11 @@ int __init mx28_clocks_init(void)
>  	clk_set_parent(&ssp0_clk, &ref_io0_clk);
>  	clk_set_parent(&ssp1_clk, &ref_io0_clk);
> 
> -	clk_enable(&cpu_clk);
> -	clk_enable(&hbus_clk);
> -	clk_enable(&xbus_clk);
> -	clk_enable(&emi_clk);
> -	clk_enable(&uart_clk);
> +	clk_prepare_enable(&cpu_clk);
> +	clk_prepare_enable(&hbus_clk);
> +	clk_prepare_enable(&xbus_clk);
> +	clk_prepare_enable(&emi_clk);
> +	clk_prepare_enable(&uart_clk);
> 
>  	clk_set_parent(&lcdif_clk, &ref_pix_clk);
>  	clk_set_parent(&saif0_clk, &pll0_clk);
> diff --git a/arch/arm/mach-mxs/clock.c b/arch/arm/mach-mxs/clock.c
> index a7093c8..755eec0 100644
> --- a/arch/arm/mach-mxs/clock.c
> +++ b/arch/arm/mach-mxs/clock.c
> @@ -166,7 +166,7 @@ int clk_set_parent(struct clk *clk, struct clk *parent)
>  		return ret;
> 
>  	if (clk->usecount)
> -		clk_enable(parent);
> +		clk_prepare_enable(parent);
> 
>  	mutex_lock(&clocks_mutex);
>  	ret = clk->set_parent(clk, parent);
> diff --git a/arch/arm/mach-mxs/mach-mx28evk.c
> b/arch/arm/mach-mxs/mach-mx28evk.c index 064ec5a..6b9e83e 100644
> --- a/arch/arm/mach-mxs/mach-mx28evk.c
> +++ b/arch/arm/mach-mxs/mach-mx28evk.c
> @@ -228,7 +228,7 @@ static void __init mx28evk_fec_reset(void)
>  	/* Enable fec phy clock */
>  	clk = clk_get_sys("pll2", NULL);
>  	if (!IS_ERR(clk))
> -		clk_enable(clk);
> +		clk_prepare_enable(clk);
> 
>  	/* Power up fec phy */
>  	ret = gpio_request(MX28EVK_FEC_PHY_POWER, "fec-phy-power");
> diff --git a/arch/arm/mach-mxs/system.c b/arch/arm/mach-mxs/system.c
> index 20ec3bd..9760a12 100644
> --- a/arch/arm/mach-mxs/system.c
> +++ b/arch/arm/mach-mxs/system.c
> @@ -66,7 +66,7 @@ static int __init mxs_arch_reset_init(void)
> 
>  	clk = clk_get_sys("rtc", NULL);
>  	if (!IS_ERR(clk))
> -		clk_enable(clk);
> +		clk_prepare_enable(clk);
> 

I still wonder how to handle the DUART -- amba-pl011 -- maybe we should toggle 
the clock here too ?

M

>  	return 0;
>  }
> diff --git a/arch/arm/mach-mxs/timer.c b/arch/arm/mach-mxs/timer.c
> index cace0d2..564a632 100644
> --- a/arch/arm/mach-mxs/timer.c
> +++ b/arch/arm/mach-mxs/timer.c
> @@ -245,7 +245,7 @@ static int __init mxs_clocksource_init(struct clk
> *timer_clk)
> 
>  void __init mxs_timer_init(struct clk *timer_clk, int irq)
>  {
> -	clk_enable(timer_clk);
> +	clk_prepare_enable(timer_clk);
> 
>  	/*
>  	 * Initialize timers to a known state
Russell King - ARM Linux - Dec. 20, 2011, 9:11 p.m.
On Tue, Dec 20, 2011 at 02:44:40PM +0100, Marek Vasut wrote:
> I still wonder how to handle the DUART -- amba-pl011 -- maybe we should
> toggle the clock here too ?

amba-pl011, along with all the other Primecells and a few other devices,
have already been converted to use clk_prepare() in the appropriate
places.  See the bunch of commits from
7ff6bcf048e6a9849ea0b44269fa4c1c72869db2 to (and including)
40d3e0f4942ec12c4521fe1b2a2b774164cd2c80.
Marek Vasut - Dec. 20, 2011, 9:28 p.m.
> On Tue, Dec 20, 2011 at 02:44:40PM +0100, Marek Vasut wrote:
> > I still wonder how to handle the DUART -- amba-pl011 -- maybe we should
> > toggle the clock here too ?
> 
> amba-pl011, along with all the other Primecells and a few other devices,
> have already been converted to use clk_prepare() in the appropriate
> places.  See the bunch of commits from
> 7ff6bcf048e6a9849ea0b44269fa4c1c72869db2 to (and including)
> 40d3e0f4942ec12c4521fe1b2a2b774164cd2c80.

Thanks!

M

Patch

diff --git a/arch/arm/mach-mxs/clock-mx23.c b/arch/arm/mach-mxs/clock-mx23.c
index 0163b6d..e12e112 100644
--- a/arch/arm/mach-mxs/clock-mx23.c
+++ b/arch/arm/mach-mxs/clock-mx23.c
@@ -545,11 +545,11 @@  int __init mx23_clocks_init(void)
 	 */
 	clk_set_parent(&ssp_clk, &ref_io_clk);
 
-	clk_enable(&cpu_clk);
-	clk_enable(&hbus_clk);
-	clk_enable(&xbus_clk);
-	clk_enable(&emi_clk);
-	clk_enable(&uart_clk);
+	clk_prepare_enable(&cpu_clk);
+	clk_prepare_enable(&hbus_clk);
+	clk_prepare_enable(&xbus_clk);
+	clk_prepare_enable(&emi_clk);
+	clk_prepare_enable(&uart_clk);
 
 	clkdev_add_table(lookups, ARRAY_SIZE(lookups));
 
diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c
index da6e4aa..f85f1f5 100644
--- a/arch/arm/mach-mxs/clock-mx28.c
+++ b/arch/arm/mach-mxs/clock-mx28.c
@@ -775,11 +775,11 @@  int __init mx28_clocks_init(void)
 	clk_set_parent(&ssp0_clk, &ref_io0_clk);
 	clk_set_parent(&ssp1_clk, &ref_io0_clk);
 
-	clk_enable(&cpu_clk);
-	clk_enable(&hbus_clk);
-	clk_enable(&xbus_clk);
-	clk_enable(&emi_clk);
-	clk_enable(&uart_clk);
+	clk_prepare_enable(&cpu_clk);
+	clk_prepare_enable(&hbus_clk);
+	clk_prepare_enable(&xbus_clk);
+	clk_prepare_enable(&emi_clk);
+	clk_prepare_enable(&uart_clk);
 
 	clk_set_parent(&lcdif_clk, &ref_pix_clk);
 	clk_set_parent(&saif0_clk, &pll0_clk);
diff --git a/arch/arm/mach-mxs/clock.c b/arch/arm/mach-mxs/clock.c
index a7093c8..755eec0 100644
--- a/arch/arm/mach-mxs/clock.c
+++ b/arch/arm/mach-mxs/clock.c
@@ -166,7 +166,7 @@  int clk_set_parent(struct clk *clk, struct clk *parent)
 		return ret;
 
 	if (clk->usecount)
-		clk_enable(parent);
+		clk_prepare_enable(parent);
 
 	mutex_lock(&clocks_mutex);
 	ret = clk->set_parent(clk, parent);
diff --git a/arch/arm/mach-mxs/mach-mx28evk.c b/arch/arm/mach-mxs/mach-mx28evk.c
index 064ec5a..6b9e83e 100644
--- a/arch/arm/mach-mxs/mach-mx28evk.c
+++ b/arch/arm/mach-mxs/mach-mx28evk.c
@@ -228,7 +228,7 @@  static void __init mx28evk_fec_reset(void)
 	/* Enable fec phy clock */
 	clk = clk_get_sys("pll2", NULL);
 	if (!IS_ERR(clk))
-		clk_enable(clk);
+		clk_prepare_enable(clk);
 
 	/* Power up fec phy */
 	ret = gpio_request(MX28EVK_FEC_PHY_POWER, "fec-phy-power");
diff --git a/arch/arm/mach-mxs/system.c b/arch/arm/mach-mxs/system.c
index 20ec3bd..9760a12 100644
--- a/arch/arm/mach-mxs/system.c
+++ b/arch/arm/mach-mxs/system.c
@@ -66,7 +66,7 @@  static int __init mxs_arch_reset_init(void)
 
 	clk = clk_get_sys("rtc", NULL);
 	if (!IS_ERR(clk))
-		clk_enable(clk);
+		clk_prepare_enable(clk);
 
 	return 0;
 }
diff --git a/arch/arm/mach-mxs/timer.c b/arch/arm/mach-mxs/timer.c
index cace0d2..564a632 100644
--- a/arch/arm/mach-mxs/timer.c
+++ b/arch/arm/mach-mxs/timer.c
@@ -245,7 +245,7 @@  static int __init mxs_clocksource_init(struct clk *timer_clk)
 
 void __init mxs_timer_init(struct clk *timer_clk, int irq)
 {
-	clk_enable(timer_clk);
+	clk_prepare_enable(timer_clk);
 
 	/*
 	 * Initialize timers to a known state