SPDX: Convert all of our single license tags to Linux Kernel style
[platform/kernel/u-boot.git] / include / linux / linkage.h
index 7435fcd..0b24111 100644 (file)
@@ -1,9 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
- * U-boot - linkage.h
+ * U-Boot - linkage.h
  *
  * Copyright (c) 2005-2007 Analog Devices Inc.
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #ifndef _LINUX_LINKAGE_H
 
 #include <asm/linkage.h>
 
+/* Some toolchains use other characters (e.g. '`') to mark new line in macro */
+#ifndef ASM_NL
+#define ASM_NL          ;
+#endif
+
 #ifdef __cplusplus
 #define CPP_ASMLINKAGE         extern "C"
 #else
 #define CPP_ASMLINKAGE
 #endif
 
+#ifndef asmlinkage
 #define asmlinkage CPP_ASMLINKAGE
+#endif
 
 #define SYMBOL_NAME_STR(X)     #X
 #define SYMBOL_NAME(X)         X
 #define ALIGN_STR              __ALIGN_STR
 
 #define LENTRY(name) \
-       ALIGN; \
+       ALIGN ASM_NL \
        SYMBOL_NAME_LABEL(name)
 
 #define ENTRY(name) \
-       .globl SYMBOL_NAME(name); \
+       .globl SYMBOL_NAME(name) ASM_NL \
        LENTRY(name)
 
 #define WEAK(name) \
-       .weak SYMBOL_NAME(name); \
+       .weak SYMBOL_NAME(name) ASM_NL \
        LENTRY(name)
 
 #ifndef END
@@ -59,7 +65,7 @@
 
 #ifndef ENDPROC
 #define ENDPROC(name) \
-       .type name STT_FUNC; \
+       .type name STT_FUNC ASM_NL \
        END(name)
 #endif