Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>

+31 -16
+30
include/asm-generic/switch_to.h
··· 1 + /* Generic task switch macro wrapper, based on MN10300 definitions. 2 + * 3 + * It should be possible to use these on really simple architectures, 4 + * but it serves more as a starting point for new ports. 5 + * 6 + * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 7 + * Written by David Howells (dhowells@redhat.com) 8 + * 9 + * This program is free software; you can redistribute it and/or 10 + * modify it under the terms of the GNU General Public Licence 11 + * as published by the Free Software Foundation; either version 12 + * 2 of the Licence, or (at your option) any later version. 13 + */ 14 + #ifndef __ASM_GENERIC_SWITCH_TO_H 15 + #define __ASM_GENERIC_SWITCH_TO_H 16 + 17 + #include <linux/thread_info.h> 18 + 19 + /* 20 + * Context switching is now performed out-of-line in switch_to.S 21 + */ 22 + extern struct task_struct *__switch_to(struct task_struct *, 23 + struct task_struct *); 24 + 25 + #define switch_to(prev, next, last) \ 26 + do { \ 27 + ((last) = __switch_to((prev), (next))); \ 28 + } while (0) 29 + 30 + #endif /* __ASM_GENERIC_SWITCH_TO_H */
+1 -16
include/asm-generic/system.h
··· 14 14 #ifndef __ASM_GENERIC_SYSTEM_H 15 15 #define __ASM_GENERIC_SYSTEM_H 16 16 17 - #ifndef __ASSEMBLY__ 18 - 19 - #include <linux/types.h> 20 - 21 17 #include <asm/barrier.h> 22 18 #include <asm/cmpxchg.h> 23 - 24 - struct task_struct; 25 - 26 - /* context switching is now performed out-of-line in switch_to.S */ 27 - extern struct task_struct *__switch_to(struct task_struct *, 28 - struct task_struct *); 29 - #define switch_to(prev, next, last) \ 30 - do { \ 31 - ((last) = __switch_to((prev), (next))); \ 32 - } while (0) 19 + #include <asm/switch_to.h> 33 20 34 21 #define arch_align_stack(x) (x) 35 - 36 - #endif /* !__ASSEMBLY__ */ 37 22 38 23 #endif /* __ASM_GENERIC_SYSTEM_H */