From 49dd115d711b08a12689437d1b669e2dd3f615c5 Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Fri, 27 Feb 2009 08:03:07 -0300 Subject: [PATCH] --- yaml --- r: 132367 b: refs/heads/master c: efeff568677aa325f84d3ce37c219019887a79eb h: refs/heads/master i: 132365: 579573ce83568519e699d2d4aa8e387c50770d0c 132363: 5595904b48797d8df9bfda855a254231ece69a67 132359: e621481d79d88279c0cc181c63459e818968a641 132351: 885d23741be70627c756da04bb02b2d1b0f7c672 v: v3 --- [refs] | 2 +- trunk/arch/arm/plat-s3c64xx/s3c6400-clock.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 769034716a4e..0b10581642e3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fdca9bf2dae14218704ddd7dc60ad1b198c1d787 +refs/heads/master: efeff568677aa325f84d3ce37c219019887a79eb diff --git a/trunk/arch/arm/plat-s3c64xx/s3c6400-clock.c b/trunk/arch/arm/plat-s3c64xx/s3c6400-clock.c index 6edbeef6aa9d..05b17528041e 100644 --- a/trunk/arch/arm/plat-s3c64xx/s3c6400-clock.c +++ b/trunk/arch/arm/plat-s3c64xx/s3c6400-clock.c @@ -239,10 +239,12 @@ static int s3c64xx_setrate_clksrc(struct clk *clk, unsigned long rate) rate = clk_round_rate(clk, rate); div = clk_get_rate(clk->parent) / rate; + if (div > 16) + return -EINVAL; val = __raw_readl(reg); - val &= ~sclk->mask; - val |= (rate - 1) << sclk->shift; + val &= ~(0xf << sclk->shift); + val |= (div - 1) << sclk->shift; __raw_writel(val, reg); return 0;