Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drivers/bus: arm-cci: fix combined ARMv6+v7 build

When we build a kernel with support for both ARMv6 and ARMv7,
gas is trying to be helpful by pointing out that the arm-cci
driver would not work on ARMv6:

/tmp/ccu1LDeU.s: Assembler messages:
/tmp/ccu1LDeU.s:450: Error: selected processor does not support ARM mode `wfi '
/tmp/ccu1LDeU.s:451: Error: selected processor does not support ARM mode `wfe '
make[4]: *** [drivers/bus/arm-cci.o] Error 1

We know that the driver will only be used on ARMv7, hence we
can annotate the inline assembly listing to allow those instructions.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nicolas Pitre <nico@linaro.org>
Cc: Dave Martin <dave.martin@linaro.org>

+1 -1
+1 -1
drivers/bus/arm-cci.c
··· 253 253 asmlinkage void __naked cci_enable_port_for_self(void) 254 254 { 255 255 asm volatile ("\n" 256 - 256 + " .arch armv7-a\n" 257 257 " mrc p15, 0, r0, c0, c0, 5 @ get MPIDR value \n" 258 258 " and r0, r0, #"__stringify(MPIDR_HWID_BITMASK)" \n" 259 259 " adr r1, 5f \n"