OSDN Git Service

bus: arm-cci: remove unnecessary unreachable()
authorStefan Agner <stefan@agner.ch>
Tue, 8 May 2018 14:27:26 +0000 (16:27 +0200)
committerOlof Johansson <olof@lixom.net>
Mon, 14 May 2018 08:22:49 +0000 (01:22 -0700)
Mixing asm and C code is not recommended in a naked function by
gcc and leads to an error when using clang:
  drivers/bus/arm-cci.c:2107:2: error: non-ASM statement in naked
  function is not supported
        unreachable();
        ^

While the function is marked __naked it actually properly return
in asm. There is no need for the unreachable() call.

GCC 7.2 generates identical object files before and after, other
than (for obvious reasons) the line numbers generated by
WANT_WARN_ON_SLOWPATH for all the WARN()s appearing later in the
file.

Suggested-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Acked-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
drivers/bus/arm-cci.c

index 443e4c3..b8184a9 100644 (file)
@@ -371,8 +371,6 @@ asmlinkage void __naked cci_enable_port_for_self(void)
        [sizeof_struct_cpu_port] "i" (sizeof(struct cpu_port)),
        [sizeof_struct_ace_port] "i" (sizeof(struct cci_ace_port)),
        [offsetof_port_phys] "i" (offsetof(struct cci_ace_port, phys)) );
-
-       unreachable();
 }
 
 /**