SPDX: Convert all of our single license tags to Linux Kernel style
[platform/kernel/u-boot.git] / include / linux / linkage.h
index 7b749bb..0b24111 100644 (file)
@@ -1,32 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
- * U-boot - linkage.h
+ * U-Boot - linkage.h
  *
  * Copyright (c) 2005-2007 Analog Devices Inc.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
  */
 
 #ifndef _LINUX_LINKAGE_H
 #define _LINUX_LINKAGE_H
 
 #include <asm/linkage.h>
-#include <linux/config.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"
@@ -34,7 +21,9 @@
 #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) ASM_NL \
        LENTRY(name)
 
 #ifndef END
@@ -72,7 +65,7 @@
 
 #ifndef ENDPROC
 #define ENDPROC(name) \
-       .type name STT_FUNC; \
+       .type name STT_FUNC ASM_NL \
        END(name)
 #endif