Re: [PATCH 13/34] clk: clps711x: Migrate to clk_hw based OF and registration APIs

2016-08-24 Thread Stephen Boyd
On 06/01, Stephen Boyd wrote:
> Now that we have clk_hw based provider APIs to register clks, we
> can get rid of struct clk pointers while registering clks in
> these drivers, allowing us to move closer to a clear split of
> consumer and provider clk APIs.
> 
> Cc: Alexander Shiyan 
> Signed-off-by: Stephen Boyd 
> ---

Applied to clk-next

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


[PATCH 13/34] clk: clps711x: Migrate to clk_hw based OF and registration APIs

2016-06-01 Thread Stephen Boyd
Now that we have clk_hw based provider APIs to register clks, we
can get rid of struct clk pointers while registering clks in
these drivers, allowing us to move closer to a clear split of
consumer and provider clk APIs.

Cc: Alexander Shiyan 
Signed-off-by: Stephen Boyd 
---

See commit 58657d189a2f and it's children for details on this
new registration API.

 drivers/clk/clk-clps711x.c | 78 +++---
 1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/drivers/clk/clk-clps711x.c b/drivers/clk/clk-clps711x.c
index 1f60b02416a7..9b57050b8f19 100644
--- a/drivers/clk/clk-clps711x.c
+++ b/drivers/clk/clk-clps711x.c
@@ -40,9 +40,8 @@ static const struct clk_div_table timer_div_table[] = {
 };
 
 struct clps711x_clk {
-   struct clk_onecell_data clk_data;
-   spinlock_t  lock;
-   struct clk  *clks[CLPS711X_CLK_MAX];
+   spinlock_t  lock;
+   struct clk_hw_onecell_data  clk_data;
 };
 
 static struct clps711x_clk * __init _clps711x_clk_init(void __iomem *base,
@@ -55,7 +54,9 @@ static struct clps711x_clk * __init _clps711x_clk_init(void 
__iomem *base,
if (!base)
return ERR_PTR(-ENOMEM);
 
-   clps711x_clk = kzalloc(sizeof(*clps711x_clk), GFP_KERNEL);
+   clps711x_clk = kzalloc(sizeof(*clps711x_clk) +
+   sizeof(*clps711x_clk->clk_data.hws) * CLPS711X_CLK_MAX,
+   GFP_KERNEL);
if (!clps711x_clk)
return ERR_PTR(-ENOMEM);
 
@@ -106,40 +107,40 @@ static struct clps711x_clk * __init 
_clps711x_clk_init(void __iomem *base,
tmp |= SYSCON1_TC2M | SYSCON1_TC2S;
writel(tmp, base + CLPS711X_SYSCON1);
 
-   clps711x_clk->clks[CLPS711X_CLK_DUMMY] =
-   clk_register_fixed_rate(NULL, "dummy", NULL, 0, 0);
-   clps711x_clk->clks[CLPS711X_CLK_CPU] =
-   clk_register_fixed_rate(NULL, "cpu", NULL, 0, f_cpu);
-   clps711x_clk->clks[CLPS711X_CLK_BUS] =
-   clk_register_fixed_rate(NULL, "bus", NULL, 0, f_bus);
-   clps711x_clk->clks[CLPS711X_CLK_PLL] =
-   clk_register_fixed_rate(NULL, "pll", NULL, 0, f_pll);
-   clps711x_clk->clks[CLPS711X_CLK_TIMERREF] =
-   clk_register_fixed_rate(NULL, "timer_ref", NULL, 0, f_tim);
-   clps711x_clk->clks[CLPS711X_CLK_TIMER1] =
-   clk_register_divider_table(NULL, "timer1", "timer_ref", 0,
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_DUMMY] =
+   clk_hw_register_fixed_rate(NULL, "dummy", NULL, 0, 0);
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_CPU] =
+   clk_hw_register_fixed_rate(NULL, "cpu", NULL, 0, f_cpu);
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_BUS] =
+   clk_hw_register_fixed_rate(NULL, "bus", NULL, 0, f_bus);
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_PLL] =
+   clk_hw_register_fixed_rate(NULL, "pll", NULL, 0, f_pll);
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_TIMERREF] =
+   clk_hw_register_fixed_rate(NULL, "timer_ref", NULL, 0, f_tim);
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_TIMER1] =
+   clk_hw_register_divider_table(NULL, "timer1", "timer_ref", 0,
   base + CLPS711X_SYSCON1, 5, 1, 0,
   timer_div_table, 
&clps711x_clk->lock);
-   clps711x_clk->clks[CLPS711X_CLK_TIMER2] =
-   clk_register_divider_table(NULL, "timer2", "timer_ref", 0,
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_TIMER2] =
+   clk_hw_register_divider_table(NULL, "timer2", "timer_ref", 0,
   base + CLPS711X_SYSCON1, 7, 1, 0,
   timer_div_table, 
&clps711x_clk->lock);
-   clps711x_clk->clks[CLPS711X_CLK_PWM] =
-   clk_register_fixed_rate(NULL, "pwm", NULL, 0, f_pwm);
-   clps711x_clk->clks[CLPS711X_CLK_SPIREF] =
-   clk_register_fixed_rate(NULL, "spi_ref", NULL, 0, f_spi);
-   clps711x_clk->clks[CLPS711X_CLK_SPI] =
-   clk_register_divider_table(NULL, "spi", "spi_ref", 0,
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_PWM] =
+   clk_hw_register_fixed_rate(NULL, "pwm", NULL, 0, f_pwm);
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_SPIREF] =
+   clk_hw_register_fixed_rate(NULL, "spi_ref", NULL, 0, f_spi);
+   clps711x_clk->clk_data.hws[CLPS711X_CLK_SPI] =
+   clk_hw_register_divider_table(NULL, "spi", "spi_ref", 0,
   base + CLPS711X_SYSCON1, 16, 2, 0,
   spi_div_table, &clps711x_clk->lock);
-   clps711x_clk->clks[CLPS711X_CLK_UART] =
-   clk_register_fixed_factor(NULL, "uart", "bus", 0, 1, 10);
-   clps711x_clk->clks[CLPS711X_CLK_TICK] =
-   clk_register_fixed_rate(NULL, "tick", NULL, 0, 64);
+   clps711x_clk->c