ARM: cns3xxx: Make cns3xxx_pwr_soft_rst_force() to actually reset blocks
authorAnton Vorontsov <cbouatmailru@gmail.com>
Fri, 26 Nov 2010 17:48:35 +0000 (20:48 +0300)
committerAnton Vorontsov <cbouatmailru@gmail.com>
Fri, 26 Nov 2010 18:10:49 +0000 (21:10 +0300)
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>
arch/arm/mach-cns3xxx/pm.c

index 38e44706feabf43a69a9a3429f3a6753b51d34a0..dfccabbd959985f431086b1c914bf9ca2bf27b55 100644 (file)
@@ -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);
        }