]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/linkage.h
[S390] cio: Do timed recovery on workqueue.
[linux-2.6-omap-h63xx.git] / include / linux / linkage.h
index 147eb01e0d4bbe536da8bef077fac4ed8d9cdd37..0592936344c426e71a05be54e2a11bc705eb1e6a 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef _LINUX_LINKAGE_H
 #define _LINUX_LINKAGE_H
 
-#include <linux/config.h>
 #include <asm/linkage.h>
 
 #ifdef __cplusplus
 #define asmlinkage CPP_ASMLINKAGE
 #endif
 
+#ifndef asmregparm
+# define asmregparm
+#endif
+
 #ifndef prevent_tail_call
 # define prevent_tail_call(ret) do { } while (0)
 #endif
 #define ALIGN __ALIGN
 #define ALIGN_STR __ALIGN_STR
 
+#ifndef ENTRY
 #define ENTRY(name) \
   .globl name; \
   ALIGN; \
   name:
+#endif
+
+#ifndef WEAK
+#define WEAK(name)        \
+       .weak name;        \
+       name:
+#endif
 
 #define KPROBE_ENTRY(name) \
-  .section .kprobes.text, "ax"; \
-  .globl name; \
-  ALIGN; \
-  name:
+  .pushsection .kprobes.text, "ax"; \
+  ENTRY(name)
+
+#define KPROBE_END(name) \
+  END(name);            \
+  .popsection
 
+#ifndef END
+#define END(name) \
+  .size name, .-name
+#endif
+
+/* If symbol 'name' is treated as a subroutine (gets called, and returns)
+ * then please use ENDPROC to mark 'name' as STT_FUNC for the benefit of
+ * static analysis tools such as stack depth analyzer.
+ */
+#ifndef ENDPROC
+#define ENDPROC(name) \
+  .type name, @function; \
+  END(name)
+#endif
 
 #endif
 
@@ -46,9 +73,4 @@
 #define ATTRIB_NORET  __attribute__((noreturn))
 #define NORET_AND     noreturn,
 
-#ifndef FASTCALL
-#define FASTCALL(x)    x
-#define fastcall
-#endif
-
 #endif