Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 274101
b: refs/heads/master
c: f9f7c75
h: refs/heads/master
i:
  274099: ec10a92
v: v3
  • Loading branch information
Heiko Stuebner authored and Kukjin Kim committed Oct 14, 2011
1 parent 404966b commit 47d5e57
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 8 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: 5f33bd76f5c4df45cd5b2e4132c6451dac8afee9
refs/heads/master: f9f7c7503f7002deffe4cb8409ccada075a52522
27 changes: 20 additions & 7 deletions trunk/arch/arm/plat-s3c24xx/s3c2443-clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,11 +179,16 @@ static unsigned long s3c2443_armclk_roundrate(struct clk *clk,
unsigned div;
int ptr;

if (!nr_armdiv)
return -EINVAL;

for (ptr = 0; ptr < nr_armdiv; ptr++) {
div = armdiv[ptr];
calc = parent / div;
if (calc <= rate && div < best)
best = div;
if (div) {
calc = parent / div;
if (calc <= rate && div < best)
best = div;
}
}

return parent / best;
Expand All @@ -195,6 +200,9 @@ static unsigned long s3c2443_armclk_getrate(struct clk *clk)
unsigned long clkcon0;
int val;

if (!nr_armdiv || !armdivmask)
return -EINVAL;

clkcon0 = __raw_readl(S3C2443_CLKDIV0);
clkcon0 &= armdivmask;
val = clkcon0 >> S3C2443_CLKDIV0_ARMDIV_SHIFT;
Expand All @@ -211,12 +219,17 @@ static int s3c2443_armclk_setrate(struct clk *clk, unsigned long rate)
int ptr;
int val = -1;

if (!nr_armdiv || !armdivmask)
return -EINVAL;

for (ptr = 0; ptr < nr_armdiv; ptr++) {
div = armdiv[ptr];
calc = parent / div;
if (calc <= rate && div < best) {
best = div;
val = ptr;
if (div) {
calc = parent / div;
if (calc <= rate && div < best) {
best = div;
val = ptr;
}
}
}

Expand Down

0 comments on commit 47d5e57

Please sign in to comment.