Linux-0.01 already defined 'current' in the middle of sched.h, so this is an ancient historical precedent - but still in a modern kernel it looks a bit weird that we have:
#include <asm/current.h> in the middle of the header. Move it further up. If this was done for some obscure dependency reasons then we'll trigger and document it. Cc: Peter Zijlstra <pet...@infradead.org> Cc: Mike Galbraith <efa...@gmx.de> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mi...@kernel.org> --- include/linux/sched.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index f2c86b69c3e8..29262493c915 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -23,6 +23,8 @@ #include <linux/topology.h> #include <linux/magic.h> +#include <asm/current.h> + struct sched_attr; struct sched_param; @@ -1574,8 +1576,6 @@ extern struct task_struct *find_task_by_vpid(pid_t nr); extern struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *ns); -#include <asm/current.h> - extern int wake_up_state(struct task_struct *tsk, unsigned int state); extern int wake_up_process(struct task_struct *tsk); extern void wake_up_new_task(struct task_struct *tsk); -- 2.7.4