Skip to content

Commit

Permalink
arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-by: Mark Charlebois <[email protected]>
Acked-by: Will Deacon <[email protected]>
Acked-by: Tony Prisk <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
  • Loading branch information
behanw authored and arndb committed Sep 25, 2014
1 parent f18cf05 commit 49dd0dc
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/arm/mach-vt8500/vt8500.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 49dd0dc

Please sign in to comment.