]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-s390/percpu.h
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6-omap-h63xx.git] / include / asm-s390 / percpu.h
index 28b3517e787cd141d8c778e37cff68f143b6bf53..495ad99c76351c005ed6f95977902b4c2ea4f53f 100644 (file)
  */
 #if defined(__s390x__) && defined(MODULE)
 
-#define __reloc_hide(var,offset) \
-  (*({ unsigned long *__ptr; \
-       asm ( "larl %0,per_cpu__"#var"@GOTENT" \
-             : "=a" (__ptr) : "X" (per_cpu__##var) ); \
-       (typeof(&per_cpu__##var))((*__ptr) + (offset)); }))
+#define __reloc_hide(var,offset) (*({                  \
+       extern int simple_indentifier_##var(void);      \
+       unsigned long *__ptr;                           \
+       asm ( "larl %0,per_cpu__"#var"@GOTENT"          \
+           : "=a" (__ptr) : "X" (per_cpu__##var) );    \
+       (typeof(&per_cpu__##var))((*__ptr) + (offset)); }))
 
 #else
 
-#define __reloc_hide(var, offset) \
-  (*({ unsigned long __ptr; \
-       asm ( "" : "=a" (__ptr) : "0" (&per_cpu__##var) ); \
-       (typeof(&per_cpu__##var)) (__ptr + (offset)); }))
+#define __reloc_hide(var, offset) (*({                         \
+       extern int simple_indentifier_##var(void);              \
+       unsigned long __ptr;                                    \
+       asm ( "" : "=a" (__ptr) : "0" (&per_cpu__##var) );      \
+       (typeof(&per_cpu__##var)) (__ptr + (offset)); }))
 
 #endif