aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>2008-07-23 21:28:55 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-24 10:47:25 -0700
commit5aa0769d089125e63f8dc23e0283e559e1790493 (patch)
tree5e5ef96ab69abe0a75ec9712297f2e493055e900
parent82736f4d1d2b7063b829cc93171a6e5aea8a9c49 (diff)
downloadkernel_samsung_smdk4412-5aa0769d089125e63f8dc23e0283e559e1790493.zip
kernel_samsung_smdk4412-5aa0769d089125e63f8dc23e0283e559e1790493.tar.gz
kernel_samsung_smdk4412-5aa0769d089125e63f8dc23e0283e559e1790493.tar.bz2
atmel_pwm: set up only one PWM clock when allocating a clock
This patch will only setup one clock, if free, and return this clock to the caller. The previous solution would setup both clocks with the same prescaler and divider and return PWM_CPR_CLKB, thus taking both clocks in the same call without the caller knowing. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/misc/atmel_pwm.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/misc/atmel_pwm.c b/drivers/misc/atmel_pwm.c
index 5b5a14d..6aa5294 100644
--- a/drivers/misc/atmel_pwm.c
+++ b/drivers/misc/atmel_pwm.c
@@ -211,8 +211,7 @@ int pwm_clk_alloc(unsigned prescale, unsigned div)
if ((mr & 0xffff) == 0) {
mr |= val;
ret = PWM_CPR_CLKA;
- }
- if ((mr & (0xffff << 16)) == 0) {
+ } else if ((mr & (0xffff << 16)) == 0) {
mr |= val << 16;
ret = PWM_CPR_CLKB;
}