ARM: EXYNOS4: Fix wrong constants in the hotplug assembly code.
authorKukjin Kim <kgene.kim@samsung.com>
Mon, 28 Feb 2011 11:35:33 +0000 (20:35 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Mon, 28 Feb 2011 11:35:33 +0000 (20:35 +0900)
This patch fixes wrong constants in the hotplug assembly code for
Exynos4 such as Russell's changing in vexpress hotplug and fixes
hard-coded control register constatns also.

Reported-by: Changhwan Youn <chaos.youn@samsung.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos4/hotplug.c

index 4c42f9c..2b5909e 100644 (file)
@@ -30,13 +30,13 @@ static inline void cpu_enter_lowpower(void)
         * Turn off coherency
         */
        "       mrc     p15, 0, %0, c1, c0, 1\n"
-       "       bic     %0, %0, #0x20\n"
+       "       bic     %0, %0, %3\n"
        "       mcr     p15, 0, %0, c1, c0, 1\n"
        "       mrc     p15, 0, %0, c1, c0, 0\n"
        "       bic     %0, %0, %2\n"
        "       mcr     p15, 0, %0, c1, c0, 0\n"
          : "=&r" (v)
-         : "r" (0), "Ir" (CR_C)
+         : "r" (0), "Ir" (CR_C), "Ir" (0x40)
          : "cc");
 }
 
@@ -49,10 +49,10 @@ static inline void cpu_leave_lowpower(void)
        "       orr     %0, %0, %1\n"
        "       mcr     p15, 0, %0, c1, c0, 0\n"
        "       mrc     p15, 0, %0, c1, c0, 1\n"
-       "       orr     %0, %0, #0x20\n"
+       "       orr     %0, %0, %2\n"
        "       mcr     p15, 0, %0, c1, c0, 1\n"
          : "=&r" (v)
-         : "Ir" (CR_C)
+         : "Ir" (CR_C), "Ir" (0x40)
          : "cc");
 }