Skip to content

Commit

Permalink
[ARM] S3C: Fix scaler1 clock rate information
Browse files Browse the repository at this point in the history
The pwm-scaler0 and pwm-scaler1 clocks have their
.id field set to -1 as they are not referenced to
any specific device. However, parts of the pwm-clock
code used the .id field to identify which scaler
clock was being used.

Fix the problem by comparing against the pointer to
the clock to identify the scalers.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
  • Loading branch information
Ben Dooks committed Dec 15, 2008
1 parent 82fd8e6 commit 7d2dbcf
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions arch/arm/plat-s3c/pwm-clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,13 @@
* tclk -------------------------/
*/

static struct clk clk_timer_scaler[];

static unsigned long clk_pwm_scaler_get_rate(struct clk *clk)
{
unsigned long tcfg0 = __raw_readl(S3C2410_TCFG0);

if (clk->id == 1) {
if (clk == &clk_timer_scaler[1]) {
tcfg0 &= S3C2410_TCFG_PRESCALER1_MASK;
tcfg0 >>= S3C2410_TCFG_PRESCALER1_SHIFT;
} else {
Expand Down Expand Up @@ -114,7 +116,7 @@ static int clk_pwm_scaler_set_rate(struct clk *clk, unsigned long rate)
local_irq_save(flags);
tcfg0 = __raw_readl(S3C2410_TCFG0);

if (clk->id == 1) {
if (clk == &clk_timer_scaler[1]) {
tcfg0 &= ~S3C2410_TCFG_PRESCALER1_MASK;
tcfg0 |= divisor << S3C2410_TCFG_PRESCALER1_SHIFT;
} else {
Expand Down

0 comments on commit 7d2dbcf

Please sign in to comment.