diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2012-05-25 03:43:42 -0400 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2012-05-25 03:43:42 -0400 |
| commit | e3c87607731e1a8937567e92a52eedee1bec622d (patch) | |
| tree | 531dd3322824399810570f84fade97239a630466 /drivers/sh | |
| parent | 764f4e4e33d18cde4dcaf8a0d860b749c6d6d08b (diff) | |
sh: clkfwk: Consolidate div6/div4 clk_ops definitions.
Everything with the exception of the _reparent ops are now shared, so
switch everything over to common types.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/sh')
| -rw-r--r-- | drivers/sh/clk/cpg.c | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/drivers/sh/clk/cpg.c b/drivers/sh/clk/cpg.c index 06537f2b2fb..eeaec796a39 100644 --- a/drivers/sh/clk/cpg.c +++ b/drivers/sh/clk/cpg.c | |||
| @@ -148,6 +148,20 @@ static void sh_clk_div_disable(struct clk *clk) | |||
| 148 | sh_clk_write(val, clk); | 148 | sh_clk_write(val, clk); |
| 149 | } | 149 | } |
| 150 | 150 | ||
| 151 | static struct sh_clk_ops sh_clk_div_clk_ops = { | ||
| 152 | .recalc = sh_clk_div_recalc, | ||
| 153 | .set_rate = sh_clk_div_set_rate, | ||
| 154 | .round_rate = sh_clk_div_round_rate, | ||
| 155 | }; | ||
| 156 | |||
| 157 | static struct sh_clk_ops sh_clk_div_enable_clk_ops = { | ||
| 158 | .recalc = sh_clk_div_recalc, | ||
| 159 | .set_rate = sh_clk_div_set_rate, | ||
| 160 | .round_rate = sh_clk_div_round_rate, | ||
| 161 | .enable = sh_clk_div_enable, | ||
| 162 | .disable = sh_clk_div_disable, | ||
| 163 | }; | ||
| 164 | |||
| 151 | /* | 165 | /* |
| 152 | * div6 support | 166 | * div6 support |
| 153 | */ | 167 | */ |
| @@ -200,14 +214,6 @@ static int sh_clk_div6_set_parent(struct clk *clk, struct clk *parent) | |||
| 200 | return 0; | 214 | return 0; |
| 201 | } | 215 | } |
| 202 | 216 | ||
| 203 | static struct sh_clk_ops sh_clk_div6_clk_ops = { | ||
| 204 | .recalc = sh_clk_div_recalc, | ||
| 205 | .round_rate = sh_clk_div_round_rate, | ||
| 206 | .set_rate = sh_clk_div_set_rate, | ||
| 207 | .enable = sh_clk_div_enable, | ||
| 208 | .disable = sh_clk_div_disable, | ||
| 209 | }; | ||
| 210 | |||
| 211 | static struct sh_clk_ops sh_clk_div6_reparent_clk_ops = { | 217 | static struct sh_clk_ops sh_clk_div6_reparent_clk_ops = { |
| 212 | .recalc = sh_clk_div_recalc, | 218 | .recalc = sh_clk_div_recalc, |
| 213 | .round_rate = sh_clk_div_round_rate, | 219 | .round_rate = sh_clk_div_round_rate, |
| @@ -286,7 +292,7 @@ static int __init sh_clk_div6_register_ops(struct clk *clks, int nr, | |||
| 286 | 292 | ||
| 287 | int __init sh_clk_div6_register(struct clk *clks, int nr) | 293 | int __init sh_clk_div6_register(struct clk *clks, int nr) |
| 288 | { | 294 | { |
| 289 | return sh_clk_div6_register_ops(clks, nr, &sh_clk_div6_clk_ops); | 295 | return sh_clk_div6_register_ops(clks, nr, &sh_clk_div_enable_clk_ops); |
| 290 | } | 296 | } |
| 291 | 297 | ||
| 292 | int __init sh_clk_div6_reparent_register(struct clk *clks, int nr) | 298 | int __init sh_clk_div6_reparent_register(struct clk *clks, int nr) |
| @@ -327,20 +333,6 @@ static int sh_clk_div4_set_parent(struct clk *clk, struct clk *parent) | |||
| 327 | return 0; | 333 | return 0; |
| 328 | } | 334 | } |
| 329 | 335 | ||
| 330 | static struct sh_clk_ops sh_clk_div4_clk_ops = { | ||
| 331 | .recalc = sh_clk_div_recalc, | ||
| 332 | .set_rate = sh_clk_div_set_rate, | ||
| 333 | .round_rate = sh_clk_div_round_rate, | ||
| 334 | }; | ||
| 335 | |||
| 336 | static struct sh_clk_ops sh_clk_div4_enable_clk_ops = { | ||
| 337 | .recalc = sh_clk_div_recalc, | ||
| 338 | .set_rate = sh_clk_div_set_rate, | ||
| 339 | .round_rate = sh_clk_div_round_rate, | ||
| 340 | .enable = sh_clk_div_enable, | ||
| 341 | .disable = sh_clk_div_disable, | ||
| 342 | }; | ||
| 343 | |||
| 344 | static struct sh_clk_ops sh_clk_div4_reparent_clk_ops = { | 336 | static struct sh_clk_ops sh_clk_div4_reparent_clk_ops = { |
| 345 | .recalc = sh_clk_div_recalc, | 337 | .recalc = sh_clk_div_recalc, |
| 346 | .set_rate = sh_clk_div_set_rate, | 338 | .set_rate = sh_clk_div_set_rate, |
| @@ -385,14 +377,14 @@ static int __init sh_clk_div4_register_ops(struct clk *clks, int nr, | |||
| 385 | int __init sh_clk_div4_register(struct clk *clks, int nr, | 377 | int __init sh_clk_div4_register(struct clk *clks, int nr, |
| 386 | struct clk_div4_table *table) | 378 | struct clk_div4_table *table) |
| 387 | { | 379 | { |
| 388 | return sh_clk_div4_register_ops(clks, nr, table, &sh_clk_div4_clk_ops); | 380 | return sh_clk_div4_register_ops(clks, nr, table, &sh_clk_div_clk_ops); |
| 389 | } | 381 | } |
| 390 | 382 | ||
| 391 | int __init sh_clk_div4_enable_register(struct clk *clks, int nr, | 383 | int __init sh_clk_div4_enable_register(struct clk *clks, int nr, |
| 392 | struct clk_div4_table *table) | 384 | struct clk_div4_table *table) |
| 393 | { | 385 | { |
| 394 | return sh_clk_div4_register_ops(clks, nr, table, | 386 | return sh_clk_div4_register_ops(clks, nr, table, |
| 395 | &sh_clk_div4_enable_clk_ops); | 387 | &sh_clk_div_enable_clk_ops); |
| 396 | } | 388 | } |
| 397 | 389 | ||
| 398 | int __init sh_clk_div4_reparent_register(struct clk *clks, int nr, | 390 | int __init sh_clk_div4_reparent_register(struct clk *clks, int nr, |
