]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - include/asm-x86_64/percpu.h
x86_64: kill 19000+ sparse warnings
[mirror_ubuntu-artful-kernel.git] / include / asm-x86_64 / percpu.h
index 08dd9f9dda81854dc1b222dacd24ef209e6be29f..c6fbb67eac907736dd7d016fdda53df9e3cf1866 100644 (file)
     __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name
 
 /* var is in discarded region: offset to particular copy we want */
-#define per_cpu(var, cpu) (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset(cpu)))
-#define __get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __my_cpu_offset()))
-#define __raw_get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __my_cpu_offset()))
+#define per_cpu(var, cpu) (*({                         \
+       extern int simple_identifier_##var(void);       \
+       RELOC_HIDE(&per_cpu__##var, __per_cpu_offset(cpu)); }))
+#define __get_cpu_var(var) (*({                                \
+       extern int simple_identifier_##var(void);       \
+       RELOC_HIDE(&per_cpu__##var, __my_cpu_offset()); }))
+#define __raw_get_cpu_var(var) (*({                    \
+       extern int simple_identifier_##var(void);       \
+       RELOC_HIDE(&per_cpu__##var, __my_cpu_offset()); }))
 
 /* A macro to avoid #include hell... */
 #define percpu_modcopy(pcpudst, src, size)                     \