From 158bc507c2f53109bed51c806acf5bfd48d95f1a Mon Sep 17 00:00:00 2001 From: David Howells Date: Wed, 28 Mar 2012 18:30:03 +0100 Subject: [PATCH] Split the switch_to() wrapper out of asm-generic/system.h Split the switch_to() wrapper out of asm-generic/system.h into its own asm-generic/system.h as part of the asm/system.h disintegration. Signed-off-by: David Howells Acked-by: Arnd Bergmann --- include/asm-generic/switch_to.h | 30 ++++++++++++++++++++++++++++++ include/asm-generic/system.h | 17 +---------------- 2 files changed, 31 insertions(+), 16 deletions(-) create mode 100644 include/asm-generic/switch_to.h diff --git a/include/asm-generic/switch_to.h b/include/asm-generic/switch_to.h new file mode 100644 index 000000000000..052c4ac04fd5 --- /dev/null +++ b/include/asm-generic/switch_to.h @@ -0,0 +1,30 @@ +/* Generic task switch macro wrapper, based on MN10300 definitions. + * + * It should be possible to use these on really simple architectures, + * but it serves more as a starting point for new ports. + * + * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public Licence + * as published by the Free Software Foundation; either version + * 2 of the Licence, or (at your option) any later version. + */ +#ifndef __ASM_GENERIC_SWITCH_TO_H +#define __ASM_GENERIC_SWITCH_TO_H + +#include + +/* + * Context switching is now performed out-of-line in switch_to.S + */ +extern struct task_struct *__switch_to(struct task_struct *, + struct task_struct *); + +#define switch_to(prev, next, last) \ + do { \ + ((last) = __switch_to((prev), (next))); \ + } while (0) + +#endif /* __ASM_GENERIC_SWITCH_TO_H */ diff --git a/include/asm-generic/system.h b/include/asm-generic/system.h index 54cd124ea9a4..f2b8eb453cbb 100644 --- a/include/asm-generic/system.h +++ b/include/asm-generic/system.h @@ -14,25 +14,10 @@ #ifndef __ASM_GENERIC_SYSTEM_H #define __ASM_GENERIC_SYSTEM_H -#ifndef __ASSEMBLY__ - -#include - #include #include - -struct task_struct; - -/* context switching is now performed out-of-line in switch_to.S */ -extern struct task_struct *__switch_to(struct task_struct *, - struct task_struct *); -#define switch_to(prev, next, last) \ - do { \ - ((last) = __switch_to((prev), (next))); \ - } while (0) +#include #define arch_align_stack(x) (x) -#endif /* !__ASSEMBLY__ */ - #endif /* __ASM_GENERIC_SYSTEM_H */ -- 2.20.1