diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2018-03-15 05:44:09 -0400 |
---|---|---|
committer | Geert Uytterhoeven <geert+renesas@glider.be> | 2018-03-21 12:34:54 -0400 |
commit | 6c669e504a62641fd7189df13ef57d182373e36f (patch) | |
tree | eadc8d200fc97dced3fb3e6ef25ab84232b2aada /drivers | |
parent | f32b0696eabd7a9dc6efd6a97448742d5f2a7db0 (diff) |
clk: renesas: rcar-gen2: Always use readl()/writel()
On arm32, there is no reason to use the (soon deprecated)
clk_readl()/clk_writel(). Hence use the generic readl()/writel()
instead.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clk/renesas/clk-rcar-gen2.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/clk/renesas/clk-rcar-gen2.c b/drivers/clk/renesas/clk-rcar-gen2.c index d14cbe1ca29a..ee32a022e6da 100644 --- a/drivers/clk/renesas/clk-rcar-gen2.c +++ b/drivers/clk/renesas/clk-rcar-gen2.c | |||
@@ -62,8 +62,7 @@ static unsigned long cpg_z_clk_recalc_rate(struct clk_hw *hw, | |||
62 | unsigned int mult; | 62 | unsigned int mult; |
63 | unsigned int val; | 63 | unsigned int val; |
64 | 64 | ||
65 | val = (clk_readl(zclk->reg) & CPG_FRQCRC_ZFC_MASK) | 65 | val = (readl(zclk->reg) & CPG_FRQCRC_ZFC_MASK) >> CPG_FRQCRC_ZFC_SHIFT; |
66 | >> CPG_FRQCRC_ZFC_SHIFT; | ||
67 | mult = 32 - val; | 66 | mult = 32 - val; |
68 | 67 | ||
69 | return div_u64((u64)parent_rate * mult, 32); | 68 | return div_u64((u64)parent_rate * mult, 32); |
@@ -95,21 +94,21 @@ static int cpg_z_clk_set_rate(struct clk_hw *hw, unsigned long rate, | |||
95 | mult = div_u64((u64)rate * 32, parent_rate); | 94 | mult = div_u64((u64)rate * 32, parent_rate); |
96 | mult = clamp(mult, 1U, 32U); | 95 | mult = clamp(mult, 1U, 32U); |
97 | 96 | ||
98 | if (clk_readl(zclk->kick_reg) & CPG_FRQCRB_KICK) | 97 | if (readl(zclk->kick_reg) & CPG_FRQCRB_KICK) |
99 | return -EBUSY; | 98 | return -EBUSY; |
100 | 99 | ||
101 | val = clk_readl(zclk->reg); | 100 | val = readl(zclk->reg); |
102 | val &= ~CPG_FRQCRC_ZFC_MASK; | 101 | val &= ~CPG_FRQCRC_ZFC_MASK; |
103 | val |= (32 - mult) << CPG_FRQCRC_ZFC_SHIFT; | 102 | val |= (32 - mult) << CPG_FRQCRC_ZFC_SHIFT; |
104 | clk_writel(val, zclk->reg); | 103 | writel(val, zclk->reg); |
105 | 104 | ||
106 | /* | 105 | /* |
107 | * Set KICK bit in FRQCRB to update hardware setting and wait for | 106 | * Set KICK bit in FRQCRB to update hardware setting and wait for |
108 | * clock change completion. | 107 | * clock change completion. |
109 | */ | 108 | */ |
110 | kick = clk_readl(zclk->kick_reg); | 109 | kick = readl(zclk->kick_reg); |
111 | kick |= CPG_FRQCRB_KICK; | 110 | kick |= CPG_FRQCRB_KICK; |
112 | clk_writel(kick, zclk->kick_reg); | 111 | writel(kick, zclk->kick_reg); |
113 | 112 | ||
114 | /* | 113 | /* |
115 | * Note: There is no HW information about the worst case latency. | 114 | * Note: There is no HW information about the worst case latency. |
@@ -121,7 +120,7 @@ static int cpg_z_clk_set_rate(struct clk_hw *hw, unsigned long rate, | |||
121 | * "super" safe value. | 120 | * "super" safe value. |
122 | */ | 121 | */ |
123 | for (i = 1000; i; i--) { | 122 | for (i = 1000; i; i--) { |
124 | if (!(clk_readl(zclk->kick_reg) & CPG_FRQCRB_KICK)) | 123 | if (!(readl(zclk->kick_reg) & CPG_FRQCRB_KICK)) |
125 | return 0; | 124 | return 0; |
126 | 125 | ||
127 | cpu_relax(); | 126 | cpu_relax(); |
@@ -332,7 +331,7 @@ rcar_gen2_cpg_register_clock(struct device_node *np, struct rcar_gen2_cpg *cpg, | |||
332 | mult = config->pll0_mult; | 331 | mult = config->pll0_mult; |
333 | div = 3; | 332 | div = 3; |
334 | } else { | 333 | } else { |
335 | u32 value = clk_readl(cpg->reg + CPG_PLL0CR); | 334 | u32 value = readl(cpg->reg + CPG_PLL0CR); |
336 | mult = ((value >> 24) & ((1 << 7) - 1)) + 1; | 335 | mult = ((value >> 24) & ((1 << 7) - 1)) + 1; |
337 | } | 336 | } |
338 | parent_name = "main"; | 337 | parent_name = "main"; |