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

usb: gadget: avoid unusual inline assembly

clang does not understand the "mrc%?" syntax:

drivers/usb/gadget/udc/pxa25x_udc.c:2330:11: error: invalid % escape in inline assembly string

I don't understand it either, but removing the %? here gets it to build.
This is probably wrong and someone else should do a proper patch.

Any suggestions?

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20210927123830.1278953-1-arnd@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Arnd Bergmann and committed by
Greg Kroah-Hartman
e27bea45 fde1fbed

+1 -1
+1 -1
drivers/usb/gadget/udc/pxa25x_udc.c
··· 2325 2325 pr_info("%s: version %s\n", driver_name, DRIVER_VERSION); 2326 2326 2327 2327 /* insist on Intel/ARM/XScale */ 2328 - asm("mrc%? p15, 0, %0, c0, c0" : "=r" (chiprev)); 2328 + asm("mrc p15, 0, %0, c0, c0" : "=r" (chiprev)); 2329 2329 if ((chiprev & CP15R0_VENDOR_MASK) != CP15R0_XSCALE_VALUE) { 2330 2330 pr_err("%s: not XScale!\n", driver_name); 2331 2331 return -ENODEV;