summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-cns3xxx
diff options
context:
space:
mode:
authorAnton Vorontsov <cbouatmailru@gmail.com>2010-11-26 18:48:35 +0100
committerAnton Vorontsov <cbouatmailru@gmail.com>2010-11-26 19:10:49 +0100
commitdf8f4d2f3ef9ca2154f7bd531492a83c4ab4558a (patch)
tree3ee5948e1a573f5cf72bf7bec266184bc659d3e2 /arch/arm/mach-cns3xxx
parentLinux 2.6.37-rc3 (diff)
downloadlinux-df8f4d2f3ef9ca2154f7bd531492a83c4ab4558a.tar.xz
linux-df8f4d2f3ef9ca2154f7bd531492a83c4ab4558a.zip
ARM: cns3xxx: Make cns3xxx_pwr_soft_rst_force() to actually reset blocks
commit 6eb5d146d4535 ("ARM: cns3xxx: Use IO memory accessors everywhere") breaks cns3xxx_pwr_soft_rst_force() function, so that it doesn't write cleared bit into the register. This patch fixes the issue by adding the necessary __raw_writel(). Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Diffstat (limited to 'arch/arm/mach-cns3xxx')
-rw-r--r--arch/arm/mach-cns3xxx/pm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-cns3xxx/pm.c b/arch/arm/mach-cns3xxx/pm.c
index 38e44706feab..dfccabbd9599 100644
--- a/arch/arm/mach-cns3xxx/pm.c
+++ b/arch/arm/mach-cns3xxx/pm.c
@@ -51,6 +51,7 @@ static void cns3xxx_pwr_soft_rst_force(unsigned int block)
reg &= ~(block & PM_SOFT_RST_REG_MASK);
} else {
reg &= ~(block & PM_SOFT_RST_REG_MASK);
+ __raw_writel(reg, PM_SOFT_RST_REG);
reg |= (block & PM_SOFT_RST_REG_MASK);
}