mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 01:04:19 +08:00
ARM: SAMSUNG: Add call to register array of clocks
Add s3c_register_clocks() to register an array of clocks, printing an error message if there is a problem. Replace all points in the code where this could be used. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
fb6e76cd23
commit
1d9f13c49e
@ -1104,14 +1104,7 @@ void __init s3c2443_init_clocks(int xtal)
|
||||
|
||||
/* register clocks from clock array */
|
||||
|
||||
clkp = init_clocks;
|
||||
for (ptr = 0; ptr < ARRAY_SIZE(init_clocks); ptr++, clkp++) {
|
||||
ret = s3c24xx_register_clock(clkp);
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR "Failed to register clock %s (%d)\n",
|
||||
clkp->name, ret);
|
||||
}
|
||||
}
|
||||
s3c_register_clocks(init_clocks, ARRAY_SIZE(init_clocks));
|
||||
|
||||
/* We must be careful disabling the clocks we are not intending to
|
||||
* be using at boot time, as subsystems such as the LCD which do
|
||||
|
@ -430,25 +430,15 @@ __init void s3c_pwmclk_init(void)
|
||||
return;
|
||||
}
|
||||
|
||||
for (clk = 0; clk < ARRAY_SIZE(clk_timer_scaler); clk++) {
|
||||
for (clk = 0; clk < ARRAY_SIZE(clk_timer_scaler); clk++)
|
||||
clk_timer_scaler[clk].parent = clk_timers;
|
||||
ret = s3c24xx_register_clock(&clk_timer_scaler[clk]);
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR "error adding pwm scaler%d clock\n", clk);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (clk = 0; clk < ARRAY_SIZE(clk_timer_tclk); clk++) {
|
||||
ret = s3c24xx_register_clock(&clk_timer_tclk[clk]);
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR "error adding pww tclk%d\n", clk);
|
||||
return;
|
||||
}
|
||||
}
|
||||
s3c_register_clocks(clk_timer_scaler, ARRAY_SIZE(clk_timer_scaler));
|
||||
s3c_register_clocks(clk_timer_tclk, ARRAY_SIZE(clk_timer_tclk));
|
||||
|
||||
for (clk = 0; clk < ARRAY_SIZE(clk_timer_tdiv); clk++) {
|
||||
ret = clk_pwm_tdiv_register(clk);
|
||||
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR "error adding pwm%d tdiv clock\n", clk);
|
||||
return;
|
||||
|
@ -274,15 +274,7 @@ void __init s3c64xx_register_clocks(void)
|
||||
int ptr;
|
||||
|
||||
s3c24xx_register_clocks(clks, ARRAY_SIZE(clks));
|
||||
|
||||
clkp = init_clocks;
|
||||
for (ptr = 0; ptr < ARRAY_SIZE(init_clocks); ptr++, clkp++) {
|
||||
ret = s3c24xx_register_clock(clkp);
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR "Failed to register clock %s (%d)\n",
|
||||
clkp->name, ret);
|
||||
}
|
||||
}
|
||||
s3c_register_clocks(init_clocks, ARRAY_SIZE(init_clocks));
|
||||
|
||||
clkp = init_clocks_disable;
|
||||
for (ptr = 0; ptr < ARRAY_SIZE(init_clocks_disable); ptr++, clkp++) {
|
||||
|
@ -704,16 +704,8 @@ void __init s5pc1xx_register_clocks(void)
|
||||
|
||||
s3c24xx_register_clocks(clks, ARRAY_SIZE(clks));
|
||||
|
||||
clkp = s5pc100_init_clocks;
|
||||
size = ARRAY_SIZE(s5pc100_init_clocks);
|
||||
|
||||
for (ptr = 0; ptr < size; ptr++, clkp++) {
|
||||
ret = s3c24xx_register_clock(clkp);
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR "Failed to register clock %s (%d)\n",
|
||||
clkp->name, ret);
|
||||
}
|
||||
}
|
||||
s3c_register_clocks(s5pc100_init_clocks,
|
||||
ARRAY_SIZE(s5pc100_init_clocks));
|
||||
|
||||
clkp = s5pc100_init_clocks_disable;
|
||||
size = ARRAY_SIZE(s5pc100_init_clocks_disable);
|
||||
|
@ -336,6 +336,28 @@ int s3c24xx_register_clocks(struct clk **clks, int nr_clks)
|
||||
return fails;
|
||||
}
|
||||
|
||||
/**
|
||||
* s3c_register_clocks() - register an array of clocks
|
||||
* @clkp: Pointer to the first clock in the array.
|
||||
* @nr_clks: Number of clocks to register.
|
||||
*
|
||||
* Call s3c24xx_register_clock() on the @clkp array given, printing an
|
||||
* error if it fails to register the clock (unlikely).
|
||||
*/
|
||||
void __initdata s3c_register_clocks(struct clk *clkp, int nr_clks)
|
||||
{
|
||||
int ret;
|
||||
|
||||
for (; nr_clks > 0; nr_clks--, clkp++) {
|
||||
ret = s3c24xx_register_clock(clkp);
|
||||
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR "Failed to register clock %s (%d)\n",
|
||||
clkp->name, ret);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* initalise all the clocks */
|
||||
|
||||
int __init s3c24xx_register_baseclocks(unsigned long xtal)
|
||||
|
@ -87,6 +87,8 @@ extern int s3c2410_clkcon_enable(struct clk *clk, int enable);
|
||||
extern int s3c24xx_register_clock(struct clk *clk);
|
||||
extern int s3c24xx_register_clocks(struct clk **clk, int nr_clks);
|
||||
|
||||
extern void s3c_register_clocks(struct clk *clk, int nr_clks);
|
||||
|
||||
extern int s3c24xx_register_baseclocks(unsigned long xtal);
|
||||
|
||||
extern void s3c64xx_register_clocks(void);
|
||||
|
Loading…
Reference in New Issue
Block a user