Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 187333
b: refs/heads/master
c: 682e2b7
h: refs/heads/master
i:
  187331: 558c913
v: v3
  • Loading branch information
Ben Dooks committed Jan 15, 2010
1 parent 8b2fd9b commit bb02f8f
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f3e0b724cc70ef5ee2a6e0d9dfafa2328c294ab3
refs/heads/master: 682e2b7d45878586ce84f6993da0b8a2981a399d
4 changes: 2 additions & 2 deletions trunk/arch/arm/plat-s3c64xx/s3c6400-clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -486,10 +486,10 @@ void __init_or_cpufreq s3c6400_setup_clocks(void)
clk_f.rate = fclk;

for (ptr = 0; ptr < ARRAY_SIZE(init_parents); ptr++)
s3c_set_clksrc(init_parents[ptr]);
s3c_set_clksrc(init_parents[ptr], true);

for (ptr = 0; ptr < ARRAY_SIZE(clksrcs); ptr++)
s3c_set_clksrc(&clksrcs[ptr]);
s3c_set_clksrc(&clksrcs[ptr], true);
}

static struct clk *clks[] __initdata = {
Expand Down
16 changes: 11 additions & 5 deletions trunk/arch/arm/plat-samsung/clock-clksrc.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ static unsigned long s3c_roundrate_clksrc(struct clk *clk,

/* Clock initialisation code */

void __init_or_cpufreq s3c_set_clksrc(struct clksrc_clk *clk)
void __init_or_cpufreq s3c_set_clksrc(struct clksrc_clk *clk, bool announce)
{
struct clksrc_sources *srcs = clk->sources;
u32 mask = bit_mask(clk->reg_src.shift, clk->reg_src.size);
Expand All @@ -145,9 +145,10 @@ void __init_or_cpufreq s3c_set_clksrc(struct clksrc_clk *clk)

clk->clk.parent = srcs->sources[clksrc];

printk(KERN_INFO "%s: source is %s (%d), rate is %ld\n",
clk->clk.name, clk->clk.parent->name, clksrc,
clk_get_rate(&clk->clk));
if (announce)
printk(KERN_INFO "%s: source is %s (%d), rate is %ld\n",
clk->clk.name, clk->clk.parent->name, clksrc,
clk_get_rate(&clk->clk));
}

static struct clk_ops clksrc_ops = {
Expand All @@ -166,7 +167,12 @@ void __init s3c_register_clksrc(struct clksrc_clk *clksrc, int size)
if (!clksrc->clk.ops)
clksrc->clk.ops = &clksrc_ops;

s3c_set_clksrc(clksrc);
/* setup the clocksource, but do not announce it
* as it may be re-set by the setup routines
* called after the rest of the clocks have been
* registered
*/
s3c_set_clksrc(clksrc, false);

ret = s3c24xx_register_clock(&clksrc->clk);

Expand Down
10 changes: 9 additions & 1 deletion trunk/arch/arm/plat-samsung/include/plat/clock-clksrc.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,15 @@ struct clksrc_clk {
struct clksrc_reg reg_div;
};

extern void s3c_set_clksrc(struct clksrc_clk *clk);
/**
* s3c_set_clksrc() - setup the clock from the register settings
* @clk: The clock to setup.
* @announce: true to announce the setting to printk().
*
* Setup the clock from the current register settings, for when the
* kernel boots or if it is resuming from a possibly unknown state.
*/
extern void s3c_set_clksrc(struct clksrc_clk *clk, bool announce);

/**
* s3c_register_clksrc() register clocks from an array of clksrc clocks
Expand Down

0 comments on commit bb02f8f

Please sign in to comment.