In order to break a header dependency between lockdep and task_struct, I need per-cpu stuff from lockdep. Including <asm/percpu.h> from lockdep.h gives a build error, this patch cures that, but results in the following warning: ../arch/sparc/include/asm/percpu_64.h:7:24: warning: call-clobbered register used for global register variable register unsigned long __local_per_cpu_offset asm("g5"); But i've no idea how to fix that :/ but it does build. Not-Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> --- arch/sparc/include/asm/trap_block.h | 2 ++ 1 file changed, 2 insertions(+) --- a/arch/sparc/include/asm/trap_block.h +++ b/arch/sparc/include/asm/trap_block.h @@ -2,6 +2,8 @@ #ifndef _SPARC_TRAP_BLOCK_H #define _SPARC_TRAP_BLOCK_H +#include <linux/threads.h> + #include <asm/hypervisor.h> #include <asm/asi.h>