arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500
authorBehan Webster <behanw@converseincode.com>
Wed, 24 Sep 2014 03:44:44 +0000 (20:44 -0700)
committerArnd Bergmann <arnd@arndb.de>
Thu, 25 Sep 2014 23:49:03 +0000 (01:49 +0200)
The ASM below does not compile with clang and is not the way that the mcr
command is used in other parts of the kernel.

arch/arm/mach-vt8500/vt8500.c:72:11: error: invalid % escape in inline assembly string
        asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0));
            ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

There are other forms that are supported on different ARM instruction sets but
generally the kernel just uses mcr as it is supported in all ARM instruction
sets.

Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/mach-vt8500/vt8500.c

index 2da7be31e7e2668c12b15b8763d576ba0a1bf6c5..3bc0dc9a4d69af3a1b736c444514030d00e80ccb 100644 (file)
@@ -69,7 +69,7 @@ static void vt8500_power_off(void)
 {
        local_irq_disable();
        writew(5, pmc_base + VT8500_HCR_REG);
-       asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0));
+       asm("mcr p15, 0, %0, c7, c0, 4" : : "r" (0));
 }
 
 static void __init vt8500_init(void)