diff options
author | Ben Dooks <ben-linux@fluff.org> | 2007-06-23 20:16:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-24 11:59:11 -0400 |
commit | 5136237bc392413332b02e69ada158c307da658f (patch) | |
tree | 3437861d521eec1d011d80fd8bdd67efa1339fa4 /drivers/mfd | |
parent | b5913bbd2ddebd9c2c6841986c29376e691dd396 (diff) |
SM501: Fix sm501_init_reg() mask/set order
The order of the set and mask operation in sm501_init_reg() was setting and
then masking the bits set. Correct the order so that we do not end up with
288MHz SDRAM clocks on certain systems.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/sm501.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c index 4c4412e0de24..3a0ecfc404e9 100644 --- a/drivers/mfd/sm501.c +++ b/drivers/mfd/sm501.c | |||
@@ -813,6 +813,9 @@ static DEVICE_ATTR(dbg_regs, 0666, sm501_dbg_regs, NULL); | |||
813 | /* sm501_init_reg | 813 | /* sm501_init_reg |
814 | * | 814 | * |
815 | * Helper function for the init code to setup a register | 815 | * Helper function for the init code to setup a register |
816 | * | ||
817 | * clear the bits which are set in r->mask, and then set | ||
818 | * the bits set in r->set. | ||
816 | */ | 819 | */ |
817 | 820 | ||
818 | static inline void sm501_init_reg(struct sm501_devdata *sm, | 821 | static inline void sm501_init_reg(struct sm501_devdata *sm, |
@@ -822,8 +825,8 @@ static inline void sm501_init_reg(struct sm501_devdata *sm, | |||
822 | unsigned long tmp; | 825 | unsigned long tmp; |
823 | 826 | ||
824 | tmp = readl(sm->regs + reg); | 827 | tmp = readl(sm->regs + reg); |
825 | tmp |= r->set; | ||
826 | tmp &= ~r->mask; | 828 | tmp &= ~r->mask; |
829 | tmp |= r->set; | ||
827 | writel(tmp, sm->regs + reg); | 830 | writel(tmp, sm->regs + reg); |
828 | } | 831 | } |
829 | 832 | ||