diff options
| author | David Howells <dhowells@redhat.com> | 2012-03-28 13:30:02 -0400 |
|---|---|---|
| committer | David Howells <dhowells@redhat.com> | 2012-03-28 13:30:02 -0400 |
| commit | ae3a197e3d0bfe3f4bf1693723e82dc018c096f3 (patch) | |
| tree | 12a222c01afd73dbc3ebb6859952083e2eb96441 | |
| parent | 527dcdccd60759ee38e6224c93f87a6194d970ad (diff) | |
Disintegrate asm/system.h for PowerPC
Disintegrate asm/system.h for PowerPC.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
cc: linuxppc-dev@lists.ozlabs.org
133 files changed, 687 insertions, 701 deletions
diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h index 14174e838ad9..da29032ae38f 100644 --- a/arch/powerpc/include/asm/atomic.h +++ b/arch/powerpc/include/asm/atomic.h | |||
| @@ -5,13 +5,9 @@ | |||
| 5 | * PowerPC atomic operations | 5 | * PowerPC atomic operations |
| 6 | */ | 6 | */ |
| 7 | 7 | ||
| 8 | #include <linux/types.h> | ||
| 9 | |||
| 10 | #ifdef __KERNEL__ | 8 | #ifdef __KERNEL__ |
| 11 | #include <linux/compiler.h> | 9 | #include <linux/types.h> |
| 12 | #include <asm/synch.h> | 10 | #include <asm/cmpxchg.h> |
| 13 | #include <asm/asm-compat.h> | ||
| 14 | #include <asm/system.h> | ||
| 15 | 11 | ||
| 16 | #define ATOMIC_INIT(i) { (i) } | 12 | #define ATOMIC_INIT(i) { (i) } |
| 17 | 13 | ||
diff --git a/arch/powerpc/include/asm/auxvec.h b/arch/powerpc/include/asm/auxvec.h index 19a099b62cd6..ce17d2c9eb4e 100644 --- a/arch/powerpc/include/asm/auxvec.h +++ b/arch/powerpc/include/asm/auxvec.h | |||
| @@ -16,4 +16,6 @@ | |||
| 16 | */ | 16 | */ |
| 17 | #define AT_SYSINFO_EHDR 33 | 17 | #define AT_SYSINFO_EHDR 33 |
| 18 | 18 | ||
| 19 | #define AT_VECTOR_SIZE_ARCH 6 /* entries in ARCH_DLINFO */ | ||
| 20 | |||
| 19 | #endif | 21 | #endif |
diff --git a/arch/powerpc/include/asm/barrier.h b/arch/powerpc/include/asm/barrier.h new file mode 100644 index 000000000000..ae782254e731 --- /dev/null +++ b/arch/powerpc/include/asm/barrier.h | |||
| @@ -0,0 +1,68 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu> | ||
| 3 | */ | ||
| 4 | #ifndef _ASM_POWERPC_BARRIER_H | ||
| 5 | #define _ASM_POWERPC_BARRIER_H | ||
| 6 | |||
| 7 | /* | ||
| 8 | * Memory barrier. | ||
| 9 | * The sync instruction guarantees that all memory accesses initiated | ||
| 10 | * by this processor have been performed (with respect to all other | ||
| 11 | * mechanisms that access memory). The eieio instruction is a barrier | ||
| 12 | * providing an ordering (separately) for (a) cacheable stores and (b) | ||
| 13 | * loads and stores to non-cacheable memory (e.g. I/O devices). | ||
| 14 | * | ||
| 15 | * mb() prevents loads and stores being reordered across this point. | ||
| 16 | * rmb() prevents loads being reordered across this point. | ||
| 17 | * wmb() prevents stores being reordered across this point. | ||
| 18 | * read_barrier_depends() prevents data-dependent loads being reordered | ||
| 19 | * across this point (nop on PPC). | ||
| 20 | * | ||
| 21 | * *mb() variants without smp_ prefix must order all types of memory | ||
| 22 | * operations with one another. sync is the only instruction sufficient | ||
| 23 | * to do this. | ||
| 24 | * | ||
| 25 | * For the smp_ barriers, ordering is for cacheable memory operations | ||
| 26 | * only. We have to use the sync instruction for smp_mb(), since lwsync | ||
| 27 | * doesn't order loads with respect to previous stores. Lwsync can be | ||
| 28 | * used for smp_rmb() and smp_wmb(). | ||
| 29 | * | ||
| 30 | * However, on CPUs that don't support lwsync, lwsync actually maps to a | ||
| 31 | * heavy-weight sync, so smp_wmb() can be a lighter-weight eieio. | ||
| 32 | */ | ||
| 33 | #define mb() __asm__ __volatile__ ("sync" : : : "memory") | ||
| 34 | #define rmb() __asm__ __volatile__ ("sync" : : : "memory") | ||
| 35 | #define wmb() __asm__ __volatile__ ("sync" : : : "memory") | ||
| 36 | #define read_barrier_depends() do { } while(0) | ||
| 37 | |||
| 38 | #define set_mb(var, value) do { var = value; mb(); } while (0) | ||
| 39 | |||
| 40 | #ifdef CONFIG_SMP | ||
| 41 | |||
| 42 | #ifdef __SUBARCH_HAS_LWSYNC | ||
| 43 | # define SMPWMB LWSYNC | ||
| 44 | #else | ||
| 45 | # define SMPWMB eieio | ||
| 46 | #endif | ||
| 47 | |||
| 48 | #define smp_mb() mb() | ||
| 49 | #define smp_rmb() __asm__ __volatile__ (stringify_in_c(LWSYNC) : : :"memory") | ||
| 50 | #define smp_wmb() __asm__ __volatile__ (stringify_in_c(SMPWMB) : : :"memory") | ||
| 51 | #define smp_read_barrier_depends() read_barrier_depends() | ||
| 52 | #else | ||
| 53 | #define smp_mb() barrier() | ||
| 54 | #define smp_rmb() barrier() | ||
| 55 | #define smp_wmb() barrier() | ||
| 56 | #define smp_read_barrier_depends() do { } while(0) | ||
| 57 | #endif /* CONFIG_SMP */ | ||
| 58 | |||
| 59 | /* | ||
| 60 | * This is a barrier which prevents following instructions from being | ||
| 61 | * started until the value of the argument x is known. For example, if | ||
| 62 | * x is a variable loaded from memory, this prevents following | ||
| 63 | * instructions from being executed until the load has been performed. | ||
| 64 | */ | ||
| 65 | #define data_barrier(x) \ | ||
| 66 | asm volatile("twi 0,%0,0; isync" : : "r" (x) : "memory"); | ||
| 67 | |||
| 68 | #endif /* _ASM_POWERPC_BARRIER_H */ | ||
diff --git a/arch/powerpc/include/asm/bug.h b/arch/powerpc/include/asm/bug.h index 065c590c991d..3eb53d741070 100644 --- a/arch/powerpc/include/asm/bug.h +++ b/arch/powerpc/include/asm/bug.h | |||
| @@ -126,5 +126,16 @@ | |||
| 126 | 126 | ||
| 127 | #include <asm-generic/bug.h> | 127 | #include <asm-generic/bug.h> |
| 128 | 128 | ||
| 129 | #ifndef __ASSEMBLY__ | ||
| 130 | |||
| 131 | struct pt_regs; | ||
| 132 | extern int do_page_fault(struct pt_regs *, unsigned long, unsigned long); | ||
| 133 | extern void bad_page_fault(struct pt_regs *, unsigned long, int); | ||
| 134 | extern void _exception(int, struct pt_regs *, int, unsigned long); | ||
| 135 | extern void die(const char *, struct pt_regs *, long); | ||
| 136 | extern void print_backtrace(unsigned long *); | ||
| 137 | |||
| 138 | #endif /* !__ASSEMBLY__ */ | ||
| 139 | |||
| 129 | #endif /* __KERNEL__ */ | 140 | #endif /* __KERNEL__ */ |
| 130 | #endif /* _ASM_POWERPC_BUG_H */ | 141 | #endif /* _ASM_POWERPC_BUG_H */ |
diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h index 4b509411ad8a..9e495c9a6a88 100644 --- a/arch/powerpc/include/asm/cache.h +++ b/arch/powerpc/include/asm/cache.h | |||
| @@ -42,8 +42,24 @@ extern struct ppc64_caches ppc64_caches; | |||
| 42 | #endif /* __powerpc64__ && ! __ASSEMBLY__ */ | 42 | #endif /* __powerpc64__ && ! __ASSEMBLY__ */ |
| 43 | 43 | ||
| 44 | #if !defined(__ASSEMBLY__) | 44 | #if !defined(__ASSEMBLY__) |
| 45 | |||
| 45 | #define __read_mostly __attribute__((__section__(".data..read_mostly"))) | 46 | #define __read_mostly __attribute__((__section__(".data..read_mostly"))) |
| 47 | |||
| 48 | #ifdef CONFIG_6xx | ||
| 49 | extern long _get_L2CR(void); | ||
| 50 | extern long _get_L3CR(void); | ||
| 51 | extern void _set_L2CR(unsigned long); | ||
| 52 | extern void _set_L3CR(unsigned long); | ||
| 53 | #else | ||
| 54 | #define _get_L2CR() 0L | ||
| 55 | #define _get_L3CR() 0L | ||
| 56 | #define _set_L2CR(val) do { } while(0) | ||
| 57 | #define _set_L3CR(val) do { } while(0) | ||
| 46 | #endif | 58 | #endif |
| 47 | 59 | ||
| 60 | extern void cacheable_memzero(void *p, unsigned int nb); | ||
| 61 | extern void *cacheable_memcpy(void *, const void *, unsigned int); | ||
| 62 | |||
| 63 | #endif /* !__ASSEMBLY__ */ | ||
| 48 | #endif /* __KERNEL__ */ | 64 | #endif /* __KERNEL__ */ |
| 49 | #endif /* _ASM_POWERPC_CACHE_H */ | 65 | #endif /* _ASM_POWERPC_CACHE_H */ |
diff --git a/arch/powerpc/include/asm/cmpxchg.h b/arch/powerpc/include/asm/cmpxchg.h new file mode 100644 index 000000000000..e245aab7f191 --- /dev/null +++ b/arch/powerpc/include/asm/cmpxchg.h | |||
| @@ -0,0 +1,309 @@ | |||
| 1 | #ifndef _ASM_POWERPC_CMPXCHG_H_ | ||
| 2 | #define _ASM_POWERPC_CMPXCHG_H_ | ||
| 3 | |||
| 4 | #ifdef __KERNEL__ | ||
| 5 | #include <linux/compiler.h> | ||
| 6 | #include <asm/synch.h> | ||
| 7 | #include <asm/asm-compat.h> | ||
| 8 | |||
| 9 | /* | ||
| 10 | * Atomic exchange | ||
| 11 | * | ||
| 12 | * Changes the memory location '*ptr' to be val and returns | ||
| 13 | * the previous value stored there. | ||
| 14 | */ | ||
| 15 | static __always_inline unsigned long | ||
| 16 | __xchg_u32(volatile void *p, unsigned long val) | ||
| 17 | { | ||
| 18 | unsigned long prev; | ||
| 19 | |||
| 20 | __asm__ __volatile__( | ||
| 21 | PPC_RELEASE_BARRIER | ||
| 22 | "1: lwarx %0,0,%2 \n" | ||
| 23 | PPC405_ERR77(0,%2) | ||
| 24 | " stwcx. %3,0,%2 \n\ | ||
| 25 | bne- 1b" | ||
| 26 | PPC_ACQUIRE_BARRIER | ||
| 27 | : "=&r" (prev), "+m" (*(volatile unsigned int *)p) | ||
| 28 | : "r" (p), "r" (val) | ||
| 29 | : "cc", "memory"); | ||
| 30 | |||
| 31 | return prev; | ||
| 32 | } | ||
| 33 | |||
| 34 | /* | ||
| 35 | * Atomic exchange | ||
| 36 | * | ||
| 37 | * Changes the memory location '*ptr' to be val and returns | ||
| 38 | * the previous value stored there. | ||
| 39 | */ | ||
| 40 | static __always_inline unsigned long | ||
| 41 | __xchg_u32_local(volatile void *p, unsigned long val) | ||
| 42 | { | ||
| 43 | unsigned long prev; | ||
| 44 | |||
| 45 | __asm__ __volatile__( | ||
| 46 | "1: lwarx %0,0,%2 \n" | ||
| 47 | PPC405_ERR77(0,%2) | ||
| 48 | " stwcx. %3,0,%2 \n\ | ||
| 49 | bne- 1b" | ||
| 50 | : "=&r" (prev), "+m" (*(volatile unsigned int *)p) | ||
| 51 | : "r" (p), "r" (val) | ||
| 52 | : "cc", "memory"); | ||
| 53 | |||
| 54 | return prev; | ||
| 55 | } | ||
| 56 | |||
| 57 | #ifdef CONFIG_PPC64 | ||
| 58 | static __always_inline unsigned long | ||
| 59 | __xchg_u64(volatile void *p, unsigned long val) | ||
| 60 | { | ||
| 61 | unsigned long prev; | ||
| 62 | |||
| 63 | __asm__ __volatile__( | ||
| 64 | PPC_RELEASE_BARRIER | ||
| 65 | "1: ldarx %0,0,%2 \n" | ||
| 66 | PPC405_ERR77(0,%2) | ||
| 67 | " stdcx. %3,0,%2 \n\ | ||
| 68 | bne- 1b" | ||
| 69 | PPC_ACQUIRE_BARRIER | ||
| 70 | : "=&r" (prev), "+m" (*(volatile unsigned long *)p) | ||
| 71 | : "r" (p), "r" (val) | ||
| 72 | : "cc", "memory"); | ||
| 73 | |||
| 74 | return prev; | ||
| 75 | } | ||
| 76 | |||
| 77 | static __always_inline unsigned long | ||
| 78 | __xchg_u64_local(volatile void *p, unsigned long val) | ||
| 79 | { | ||
| 80 | unsigned long prev; | ||
| 81 | |||
| 82 | __asm__ __volatile__( | ||
| 83 | "1: ldarx %0,0,%2 \n" | ||
| 84 | PPC405_ERR77(0,%2) | ||
| 85 | " stdcx. %3,0,%2 \n\ | ||
| 86 | bne- 1b" | ||
| 87 | : "=&r" (prev), "+m" (*(volatile unsigned long *)p) | ||
| 88 | : "r" (p), "r" (val) | ||
| 89 | : "cc", "memory"); | ||
| 90 | |||
| 91 | return prev; | ||
| 92 | } | ||
| 93 | #endif | ||
| 94 | |||
| 95 | /* | ||
| 96 | * This function doesn't exist, so you'll get a linker error | ||
| 97 | * if something tries to do an invalid xchg(). | ||
| 98 | */ | ||
| 99 | extern void __xchg_called_with_bad_pointer(void); | ||
| 100 | |||
| 101 | static __always_inline unsigned long | ||
| 102 | __xchg(volatile void *ptr, unsigned long x, unsigned int size) | ||
| 103 | { | ||
| 104 | switch (size) { | ||
| 105 | case 4: | ||
| 106 | return __xchg_u32(ptr, x); | ||
| 107 | #ifdef CONFIG_PPC64 | ||
| 108 | case 8: | ||
| 109 | return __xchg_u64(ptr, x); | ||
| 110 | #endif | ||
| 111 | } | ||
| 112 | __xchg_called_with_bad_pointer(); | ||
| 113 | return x; | ||
| 114 | } | ||
| 115 | |||
| 116 | static __always_inline unsigned long | ||
| 117 | __xchg_local(volatile void *ptr, unsigned long x, unsigned int size) | ||
| 118 | { | ||
| 119 | switch (size) { | ||
| 120 | case 4: | ||
| 121 | return __xchg_u32_local(ptr, x); | ||
| 122 | #ifdef CONFIG_PPC64 | ||
| 123 | case 8: | ||
| 124 | return __xchg_u64_local(ptr, x); | ||
| 125 | #endif | ||
| 126 | } | ||
| 127 | __xchg_called_with_bad_pointer(); | ||
| 128 | return x; | ||
| 129 | } | ||
| 130 | #define xchg(ptr,x) \ | ||
| 131 | ({ \ | ||
| 132 | __typeof__(*(ptr)) _x_ = (x); \ | ||
| 133 | (__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_, sizeof(*(ptr))); \ | ||
| 134 | }) | ||
| 135 | |||
| 136 | #define xchg_local(ptr,x) \ | ||
| 137 | ({ \ | ||
| 138 | __typeof__(*(ptr)) _x_ = (x); \ | ||
| 139 | (__typeof__(*(ptr))) __xchg_local((ptr), \ | ||
| 140 | (unsigned long)_x_, sizeof(*(ptr))); \ | ||
| 141 | }) | ||
| 142 | |||
| 143 | /* | ||
| 144 | * Compare and exchange - if *p == old, set it to new, | ||
| 145 | * and return the old value of *p. | ||
| 146 | */ | ||
| 147 | #define __HAVE_ARCH_CMPXCHG 1 | ||
| 148 | |||
| 149 | static __always_inline unsigned long | ||
| 150 | __cmpxchg_u32(volatile unsigned int *p, unsigned long old, unsigned long new) | ||
| 151 | { | ||
| 152 | unsigned int prev; | ||
| 153 | |||
| 154 | __asm__ __volatile__ ( | ||
| 155 | PPC_RELEASE_BARRIER | ||
| 156 | "1: lwarx %0,0,%2 # __cmpxchg_u32\n\ | ||
| 157 | cmpw 0,%0,%3\n\ | ||
| 158 | bne- 2f\n" | ||
| 159 | PPC405_ERR77(0,%2) | ||
| 160 | " stwcx. %4,0,%2\n\ | ||
| 161 | bne- 1b" | ||
| 162 | PPC_ACQUIRE_BARRIER | ||
| 163 | "\n\ | ||
| 164 | 2:" | ||
| 165 | : "=&r" (prev), "+m" (*p) | ||
| 166 | : "r" (p), "r" (old), "r" (new) | ||
| 167 | : "cc", "memory"); | ||
| 168 | |||
| 169 | return prev; | ||
| 170 | } | ||
| 171 | |||
| 172 | static __always_inline unsigned long | ||
| 173 | __cmpxchg_u32_local(volatile unsigned int *p, unsigned long old, | ||
| 174 | unsigned long new) | ||
| 175 | { | ||
| 176 | unsigned int prev; | ||
| 177 | |||
| 178 | __asm__ __volatile__ ( | ||
| 179 | "1: lwarx %0,0,%2 # __cmpxchg_u32\n\ | ||
| 180 | cmpw 0,%0,%3\n\ | ||
| 181 | bne- 2f\n" | ||
| 182 | PPC405_ERR77(0,%2) | ||
| 183 | " stwcx. %4,0,%2\n\ | ||
| 184 | bne- 1b" | ||
| 185 | "\n\ | ||
| 186 | 2:" | ||
| 187 | : "=&r" (prev), "+m" (*p) | ||
| 188 | : "r" (p), "r" (old), "r" (new) | ||
| 189 | : "cc", "memory"); | ||
| 190 | |||
| 191 | return prev; | ||
| 192 | } | ||
| 193 | |||
| 194 | #ifdef CONFIG_PPC64 | ||
| 195 | static __always_inline unsigned long | ||
| 196 | __cmpxchg_u64(volatile unsigned long *p, unsigned long old, unsigned long new) | ||
| 197 | { | ||
| 198 | unsigned long prev; | ||
| 199 | |||
| 200 | __asm__ __volatile__ ( | ||
| 201 | PPC_RELEASE_BARRIER | ||
| 202 | "1: ldarx %0,0,%2 # __cmpxchg_u64\n\ | ||
| 203 | cmpd 0,%0,%3\n\ | ||
| 204 | bne- 2f\n\ | ||
| 205 | stdcx. %4,0,%2\n\ | ||
| 206 | bne- 1b" | ||
| 207 | PPC_ACQUIRE_BARRIER | ||
| 208 | "\n\ | ||
| 209 | 2:" | ||
| 210 | : "=&r" (prev), "+m" (*p) | ||
| 211 | : "r" (p), "r" (old), "r" (new) | ||
| 212 | : "cc", "memory"); | ||
| 213 | |||
| 214 | return prev; | ||
| 215 | } | ||
| 216 | |||
| 217 | static __always_inline unsigned long | ||
| 218 | __cmpxchg_u64_local(volatile unsigned long *p, unsigned long old, | ||
| 219 | unsigned long new) | ||
| 220 | { | ||
| 221 | unsigned long prev; | ||
| 222 | |||
| 223 | __asm__ __volatile__ ( | ||
| 224 | "1: ldarx %0,0,%2 # __cmpxchg_u64\n\ | ||
| 225 | cmpd 0,%0,%3\n\ | ||
| 226 | bne- 2f\n\ | ||
| 227 | stdcx. %4,0,%2\n\ | ||
| 228 | bne- 1b" | ||
| 229 | "\n\ | ||
| 230 | 2:" | ||
| 231 | : "=&r" (prev), "+m" (*p) | ||
| 232 | : "r" (p), "r" (old), "r" (new) | ||
| 233 | : "cc", "memory"); | ||
| 234 | |||
| 235 | return prev; | ||
| 236 | } | ||
| 237 | #endif | ||
| 238 | |||
| 239 | /* This function doesn't exist, so you'll get a linker error | ||
| 240 | if something tries to do an invalid cmpxchg(). */ | ||
| 241 | extern void __cmpxchg_called_with_bad_pointer(void); | ||
| 242 | |||
| 243 | static __always_inline unsigned long | ||
| 244 | __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, | ||
| 245 | unsigned int size) | ||
| 246 | { | ||
| 247 | switch (size) { | ||
| 248 | case 4: | ||
| 249 | return __cmpxchg_u32(ptr, old, new); | ||
| 250 | #ifdef CONFIG_PPC64 | ||
| 251 | case 8: | ||
| 252 | return __cmpxchg_u64(ptr, old, new); | ||
| 253 | #endif | ||
| 254 | } | ||
| 255 | __cmpxchg_called_with_bad_pointer(); | ||
| 256 | return old; | ||
| 257 | } | ||
| 258 | |||
| 259 | static __always_inline unsigned long | ||
| 260 | __cmpxchg_local(volatile void *ptr, unsigned long old, unsigned long new, | ||
| 261 | unsigned int size) | ||
| 262 | { | ||
| 263 | switch (size) { | ||
| 264 | case 4: | ||
| 265 | return __cmpxchg_u32_local(ptr, old, new); | ||
| 266 | #ifdef CONFIG_PPC64 | ||
| 267 | case 8: | ||
| 268 | return __cmpxchg_u64_local(ptr, old, new); | ||
| 269 | #endif | ||
| 270 | } | ||
| 271 | __cmpxchg_called_with_bad_pointer(); | ||
| 272 | return old; | ||
| 273 | } | ||
| 274 | |||
| 275 | #define cmpxchg(ptr, o, n) \ | ||
| 276 | ({ \ | ||
| 277 | __typeof__(*(ptr)) _o_ = (o); \ | ||
| 278 | __typeof__(*(ptr)) _n_ = (n); \ | ||
| 279 | (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_, \ | ||
| 280 | (unsigned long)_n_, sizeof(*(ptr))); \ | ||
| 281 | }) | ||
| 282 | |||
| 283 | |||
| 284 | #define cmpxchg_local(ptr, o, n) \ | ||
| 285 | ({ \ | ||
| 286 | __typeof__(*(ptr)) _o_ = (o); \ | ||
| 287 | __typeof__(*(ptr)) _n_ = (n); \ | ||
| 288 | (__typeof__(*(ptr))) __cmpxchg_local((ptr), (unsigned long)_o_, \ | ||
| 289 | (unsigned long)_n_, sizeof(*(ptr))); \ | ||
| 290 | }) | ||
| 291 | |||
| 292 | #ifdef CONFIG_PPC64 | ||
| 293 | #define cmpxchg64(ptr, o, n) \ | ||
| 294 | ({ \ | ||
| 295 | BUILD_BUG_ON(sizeof(*(ptr)) != 8); \ | ||
| 296 | cmpxchg((ptr), (o), (n)); \ | ||
| 297 | }) | ||
| 298 | #define cmpxchg64_local(ptr, o, n) \ | ||
| 299 | ({ \ | ||
| 300 | BUILD_BUG_ON(sizeof(*(ptr)) != 8); \ | ||
| 301 | cmpxchg_local((ptr), (o), (n)); \ | ||
| 302 | }) | ||
| 303 | #else | ||
| 304 | #include <asm-generic/cmpxchg-local.h> | ||
| 305 | #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) | ||
| 306 | #endif | ||
| 307 | |||
| 308 | #endif /* __KERNEL__ */ | ||
| 309 | #endif /* _ASM_POWERPC_CMPXCHG_H_ */ | ||
diff --git a/arch/powerpc/include/asm/debug.h b/arch/powerpc/include/asm/debug.h new file mode 100644 index 000000000000..716d2f089eb6 --- /dev/null +++ b/arch/powerpc/include/asm/debug.h | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu> | ||
| 3 | */ | ||
| 4 | #ifndef _ASM_POWERPC_DEBUG_H | ||
| 5 | #define _ASM_POWERPC_DEBUG_H | ||
| 6 | |||
| 7 | struct pt_regs; | ||
| 8 | |||
| 9 | extern struct dentry *powerpc_debugfs_root; | ||
| 10 | |||
| 11 | #if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC) | ||
| 12 | |||
| 13 | extern int (*__debugger)(struct pt_regs *regs); | ||
| 14 | extern int (*__debugger_ipi)(struct pt_regs *regs); | ||
| 15 | extern int (*__debugger_bpt)(struct pt_regs *regs); | ||
| 16 | extern int (*__debugger_sstep)(struct pt_regs *regs); | ||
| 17 | extern int (*__debugger_iabr_match)(struct pt_regs *regs); | ||
| 18 | extern int (*__debugger_dabr_match)(struct pt_regs *regs); | ||
| 19 | extern int (*__debugger_fault_handler)(struct pt_regs *regs); | ||
| 20 | |||
| 21 | #define DEBUGGER_BOILERPLATE(__NAME) \ | ||
| 22 | static inline int __NAME(struct pt_regs *regs) \ | ||
| 23 | { \ | ||
| 24 | if (unlikely(__ ## __NAME)) \ | ||
| 25 | return __ ## __NAME(regs); \ | ||
| 26 | return 0; \ | ||
| 27 | } | ||
| 28 | |||
| 29 | DEBUGGER_BOILERPLATE(debugger) | ||
| 30 | DEBUGGER_BOILERPLATE(debugger_ipi) | ||
| 31 | DEBUGGER_BOILERPLATE(debugger_bpt) | ||
| 32 | DEBUGGER_BOILERPLATE(debugger_sstep) | ||
| 33 | DEBUGGER_BOILERPLATE(debugger_iabr_match) | ||
| 34 | DEBUGGER_BOILERPLATE(debugger_dabr_match) | ||
| 35 | DEBUGGER_BOILERPLATE(debugger_fault_handler) | ||
| 36 | |||
| 37 | #else | ||
| 38 | static inline int debugger(struct pt_regs *regs) { return 0; } | ||
| 39 | static inline int debugger_ipi(struct pt_regs *regs) { return 0; } | ||
| 40 | static inline int debugger_bpt(struct pt_regs *regs) { return 0; } | ||
| 41 | static inline int debugger_sstep(struct pt_regs *regs) { return 0; } | ||
| 42 | static inline int debugger_iabr_match(struct pt_regs *regs) { return 0; } | ||
| 43 | static inline int debugger_dabr_match(struct pt_regs *regs) { return 0; } | ||
| 44 | static inline int debugger_fault_handler(struct pt_regs *regs) { return 0; } | ||
| 45 | #endif | ||
| 46 | |||
| 47 | extern int set_dabr(unsigned long dabr); | ||
| 48 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS | ||
| 49 | extern void do_send_trap(struct pt_regs *regs, unsigned long address, | ||
| 50 | unsigned long error_code, int signal_code, int brkpt); | ||
| 51 | #else | ||
| 52 | extern void do_dabr(struct pt_regs *regs, unsigned long address, | ||
| 53 | unsigned long error_code); | ||
| 54 | #endif | ||
| 55 | |||
| 56 | #endif /* _ASM_POWERPC_DEBUG_H */ | ||
diff --git a/arch/powerpc/include/asm/dma.h b/arch/powerpc/include/asm/dma.h index adadb9943610..f6813e919bb2 100644 --- a/arch/powerpc/include/asm/dma.h +++ b/arch/powerpc/include/asm/dma.h | |||
| @@ -24,7 +24,6 @@ | |||
| 24 | 24 | ||
| 25 | #include <asm/io.h> | 25 | #include <asm/io.h> |
| 26 | #include <linux/spinlock.h> | 26 | #include <linux/spinlock.h> |
| 27 | #include <asm/system.h> | ||
| 28 | 27 | ||
| 29 | #ifndef MAX_DMA_CHANNELS | 28 | #ifndef MAX_DMA_CHANNELS |
| 30 | #define MAX_DMA_CHANNELS 8 | 29 | #define MAX_DMA_CHANNELS 8 |
diff --git a/arch/powerpc/include/asm/exec.h b/arch/powerpc/include/asm/exec.h new file mode 100644 index 000000000000..8196e9c7d7e8 --- /dev/null +++ b/arch/powerpc/include/asm/exec.h | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu> | ||
| 3 | */ | ||
| 4 | #ifndef _ASM_POWERPC_EXEC_H | ||
| 5 | #define _ASM_POWERPC_EXEC_H | ||
| 6 | |||
| 7 | extern unsigned long arch_align_stack(unsigned long sp); | ||
| 8 | |||
| 9 | #endif /* _ASM_POWERPC_EXEC_H */ | ||
diff --git a/arch/powerpc/include/asm/hw_breakpoint.h b/arch/powerpc/include/asm/hw_breakpoint.h index 80fd4d2b4a62..be04330af751 100644 --- a/arch/powerpc/include/asm/hw_breakpoint.h +++ b/arch/powerpc/include/asm/hw_breakpoint.h | |||
| @@ -35,7 +35,7 @@ struct arch_hw_breakpoint { | |||
| 35 | 35 | ||
| 36 | #include <linux/kdebug.h> | 36 | #include <linux/kdebug.h> |
| 37 | #include <asm/reg.h> | 37 | #include <asm/reg.h> |
| 38 | #include <asm/system.h> | 38 | #include <asm/debug.h> |
| 39 | 39 | ||
| 40 | struct perf_event; | 40 | struct perf_event; |
| 41 | struct pmu; | 41 | struct pmu; |
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index b585bff1a022..8e2d0371fe1e 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h | |||
| @@ -385,6 +385,36 @@ static inline unsigned long get_clean_sp(struct pt_regs *regs, int is_32) | |||
| 385 | extern unsigned long cpuidle_disable; | 385 | extern unsigned long cpuidle_disable; |
| 386 | enum idle_boot_override {IDLE_NO_OVERRIDE = 0, IDLE_POWERSAVE_OFF}; | 386 | enum idle_boot_override {IDLE_NO_OVERRIDE = 0, IDLE_POWERSAVE_OFF}; |
| 387 | 387 | ||
| 388 | extern int powersave_nap; /* set if nap mode can be used in idle loop */ | ||
| 389 | void cpu_idle_wait(void); | ||
| 390 | |||
| 391 | #ifdef CONFIG_PSERIES_IDLE | ||
| 392 | extern void update_smt_snooze_delay(int snooze); | ||
| 393 | extern int pseries_notify_cpuidle_add_cpu(int cpu); | ||
| 394 | #else | ||
| 395 | static inline void update_smt_snooze_delay(int snooze) {} | ||
| 396 | static inline int pseries_notify_cpuidle_add_cpu(int cpu) { return 0; } | ||
| 397 | #endif | ||
| 398 | |||
| 399 | extern void flush_instruction_cache(void); | ||
| 400 | extern void hard_reset_now(void); | ||
| 401 | extern void poweroff_now(void); | ||
| 402 | extern int fix_alignment(struct pt_regs *); | ||
| 403 | extern void cvt_fd(float *from, double *to); | ||
| 404 | extern void cvt_df(double *from, float *to); | ||
| 405 | extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val); | ||
| 406 | |||
| 407 | #ifdef CONFIG_PPC64 | ||
| 408 | /* | ||
| 409 | * We handle most unaligned accesses in hardware. On the other hand | ||
| 410 | * unaligned DMA can be very expensive on some ppc64 IO chips (it does | ||
| 411 | * powers of 2 writes until it reaches sufficient alignment). | ||
| 412 | * | ||
| 413 | * Based on this we disable the IP header alignment in network drivers. | ||
| 414 | */ | ||
| 415 | #define NET_IP_ALIGN 0 | ||
| 416 | #endif | ||
| 417 | |||
| 388 | #endif /* __KERNEL__ */ | 418 | #endif /* __KERNEL__ */ |
| 389 | #endif /* __ASSEMBLY__ */ | 419 | #endif /* __ASSEMBLY__ */ |
| 390 | #endif /* _ASM_POWERPC_PROCESSOR_H */ | 420 | #endif /* _ASM_POWERPC_PROCESSOR_H */ |
diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h index 8a97aa7289d3..b86faa9107da 100644 --- a/arch/powerpc/include/asm/reg_booke.h +++ b/arch/powerpc/include/asm/reg_booke.h | |||
| @@ -15,6 +15,11 @@ | |||
| 15 | #ifndef __ASM_POWERPC_REG_BOOKE_H__ | 15 | #ifndef __ASM_POWERPC_REG_BOOKE_H__ |
| 16 | #define __ASM_POWERPC_REG_BOOKE_H__ | 16 | #define __ASM_POWERPC_REG_BOOKE_H__ |
| 17 | 17 | ||
| 18 | #ifdef CONFIG_BOOKE_WDT | ||
| 19 | extern u32 booke_wdt_enabled; | ||
| 20 | extern u32 booke_wdt_period; | ||
| 21 | #endif /* CONFIG_BOOKE_WDT */ | ||
| 22 | |||
| 18 | /* Machine State Register (MSR) Fields */ | 23 | /* Machine State Register (MSR) Fields */ |
| 19 | #define MSR_GS (1<<28) /* Guest state */ | 24 | #define MSR_GS (1<<28) /* Guest state */ |
| 20 | #define MSR_UCLE (1<<26) /* User-mode cache lock enable */ | 25 | #define MSR_UCLE (1<<26) /* User-mode cache lock enable */ |
diff --git a/arch/powerpc/include/asm/rtas.h b/arch/powerpc/include/asm/rtas.h index 01c143bb77ae..9d6c37a11eed 100644 --- a/arch/powerpc/include/asm/rtas.h +++ b/arch/powerpc/include/asm/rtas.h | |||
| @@ -325,5 +325,7 @@ static inline int page_is_rtas_user_buf(unsigned long pfn) | |||
| 325 | static inline int page_is_rtas_user_buf(unsigned long pfn) { return 0;} | 325 | static inline int page_is_rtas_user_buf(unsigned long pfn) { return 0;} |
| 326 | #endif | 326 | #endif |
| 327 | 327 | ||
| 328 | extern int call_rtas(const char *, int, int, unsigned long *, ...); | ||
| 329 | |||
| 328 | #endif /* __KERNEL__ */ | 330 | #endif /* __KERNEL__ */ |
| 329 | #endif /* _POWERPC_RTAS_H */ | 331 | #endif /* _POWERPC_RTAS_H */ |
diff --git a/arch/powerpc/include/asm/runlatch.h b/arch/powerpc/include/asm/runlatch.h new file mode 100644 index 000000000000..54e9b963876e --- /dev/null +++ b/arch/powerpc/include/asm/runlatch.h | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu> | ||
| 3 | */ | ||
| 4 | #ifndef _ASM_POWERPC_RUNLATCH_H | ||
| 5 | #define _ASM_POWERPC_RUNLATCH_H | ||
| 6 | |||
| 7 | #ifdef CONFIG_PPC64 | ||
| 8 | |||
| 9 | extern void __ppc64_runlatch_on(void); | ||
| 10 | extern void __ppc64_runlatch_off(void); | ||
| 11 | |||
| 12 | /* | ||
| 13 | * We manually hard enable-disable, this is called | ||
| 14 | * in the idle loop and we don't want to mess up | ||
| 15 | * with soft-disable/enable & interrupt replay. | ||
| 16 | */ | ||
| 17 | #define ppc64_runlatch_off() \ | ||
| 18 | do { \ | ||
| 19 | if (cpu_has_feature(CPU_FTR_CTRL) && \ | ||
| 20 | test_thread_local_flags(_TLF_RUNLATCH)) { \ | ||
| 21 | unsigned long msr = mfmsr(); \ | ||
| 22 | __hard_irq_disable(); \ | ||
| 23 | __ppc64_runlatch_off(); \ | ||
| 24 | if (msr & MSR_EE) \ | ||
| 25 | __hard_irq_enable(); \ | ||
| 26 | } \ | ||
| 27 | } while (0) | ||
| 28 | |||
| 29 | #define ppc64_runlatch_on() \ | ||
| 30 | do { \ | ||
| 31 | if (cpu_has_feature(CPU_FTR_CTRL) && \ | ||
| 32 | !test_thread_local_flags(_TLF_RUNLATCH)) { \ | ||
| 33 | unsigned long msr = mfmsr(); \ | ||
| 34 | __hard_irq_disable(); \ | ||
| 35 | __ppc64_runlatch_on(); \ | ||
| 36 | if (msr & MSR_EE) \ | ||
| 37 | __hard_irq_enable(); \ | ||
| 38 | } \ | ||
| 39 | } while (0) | ||
| 40 | #else | ||
| 41 | #define ppc64_runlatch_on() | ||
| 42 | #define ppc64_runlatch_off() | ||
| 43 | #endif /* CONFIG_PPC64 */ | ||
| 44 | |||
| 45 | #endif /* _ASM_POWERPC_RUNLATCH_H */ | ||
diff --git a/arch/powerpc/include/asm/setup.h b/arch/powerpc/include/asm/setup.h index 186e0fb835bd..d084ce195fc3 100644 --- a/arch/powerpc/include/asm/setup.h +++ b/arch/powerpc/include/asm/setup.h | |||
| @@ -5,6 +5,28 @@ | |||
| 5 | 5 | ||
| 6 | #ifndef __ASSEMBLY__ | 6 | #ifndef __ASSEMBLY__ |
| 7 | extern void ppc_printk_progress(char *s, unsigned short hex); | 7 | extern void ppc_printk_progress(char *s, unsigned short hex); |
| 8 | #endif | 8 | |
| 9 | extern unsigned int rtas_data; | ||
| 10 | extern int mem_init_done; /* set on boot once kmalloc can be called */ | ||
| 11 | extern int init_bootmem_done; /* set once bootmem is available */ | ||
| 12 | extern phys_addr_t memory_limit; | ||
| 13 | extern unsigned long klimit; | ||
| 14 | extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask); | ||
| 15 | |||
| 16 | extern void via_cuda_init(void); | ||
| 17 | extern void read_rtc_time(void); | ||
| 18 | extern void pmac_find_display(void); | ||
| 19 | |||
| 20 | struct device_node; | ||
| 21 | extern void note_scsi_host(struct device_node *, void *); | ||
| 22 | |||
| 23 | /* Used in very early kernel initialization. */ | ||
| 24 | extern unsigned long reloc_offset(void); | ||
| 25 | extern unsigned long add_reloc_offset(unsigned long); | ||
| 26 | extern void reloc_got2(unsigned long); | ||
| 27 | |||
| 28 | #define PTRRELOC(x) ((typeof(x)) add_reloc_offset((unsigned long)(x))) | ||
| 29 | |||
| 30 | #endif /* !__ASSEMBLY__ */ | ||
| 9 | 31 | ||
| 10 | #endif /* _ASM_POWERPC_SETUP_H */ | 32 | #endif /* _ASM_POWERPC_SETUP_H */ |
diff --git a/arch/powerpc/include/asm/switch_to.h b/arch/powerpc/include/asm/switch_to.h new file mode 100644 index 000000000000..caf82d0a00de --- /dev/null +++ b/arch/powerpc/include/asm/switch_to.h | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu> | ||
| 3 | */ | ||
| 4 | #ifndef _ASM_POWERPC_SWITCH_TO_H | ||
| 5 | #define _ASM_POWERPC_SWITCH_TO_H | ||
| 6 | |||
| 7 | struct thread_struct; | ||
| 8 | struct task_struct; | ||
| 9 | struct pt_regs; | ||
| 10 | |||
| 11 | extern struct task_struct *__switch_to(struct task_struct *, | ||
| 12 | struct task_struct *); | ||
| 13 | #define switch_to(prev, next, last) ((last) = __switch_to((prev), (next))) | ||
| 14 | |||
| 15 | struct thread_struct; | ||
| 16 | extern struct task_struct *_switch(struct thread_struct *prev, | ||
| 17 | struct thread_struct *next); | ||
| 18 | |||
| 19 | extern void giveup_fpu(struct task_struct *); | ||
| 20 | extern void disable_kernel_fp(void); | ||
| 21 | extern void enable_kernel_fp(void); | ||
| 22 | extern void flush_fp_to_thread(struct task_struct *); | ||
| 23 | extern void enable_kernel_altivec(void); | ||
| 24 | extern void giveup_altivec(struct task_struct *); | ||
| 25 | extern void load_up_altivec(struct task_struct *); | ||
| 26 | extern int emulate_altivec(struct pt_regs *); | ||
| 27 | extern void __giveup_vsx(struct task_struct *); | ||
| 28 | extern void giveup_vsx(struct task_struct *); | ||
| 29 | extern void enable_kernel_spe(void); | ||
| 30 | extern void giveup_spe(struct task_struct *); | ||
| 31 | extern void load_up_spe(struct task_struct *); | ||
| 32 | |||
| 33 | #ifndef CONFIG_SMP | ||
| 34 | extern void discard_lazy_cpu_state(void); | ||
| 35 | #else | ||
| 36 | static inline void discard_lazy_cpu_state(void) | ||
| 37 | { | ||
| 38 | } | ||
| 39 | #endif | ||
| 40 | |||
| 41 | #ifdef CONFIG_ALTIVEC | ||
| 42 | extern void flush_altivec_to_thread(struct task_struct *); | ||
| 43 | #else | ||
| 44 | static inline void flush_altivec_to_thread(struct task_struct *t) | ||
| 45 | { | ||
| 46 | } | ||
| 47 | #endif | ||
| 48 | |||
| 49 | #ifdef CONFIG_VSX | ||
| 50 | extern void flush_vsx_to_thread(struct task_struct *); | ||
| 51 | #else | ||
| 52 | static inline void flush_vsx_to_thread(struct task_struct *t) | ||
| 53 | { | ||
| 54 | } | ||
| 55 | #endif | ||
| 56 | |||
| 57 | #ifdef CONFIG_SPE | ||
| 58 | extern void flush_spe_to_thread(struct task_struct *); | ||
| 59 | #else | ||
| 60 | static inline void flush_spe_to_thread(struct task_struct *t) | ||
| 61 | { | ||
| 62 | } | ||
| 63 | #endif | ||
| 64 | |||
| 65 | #endif /* _ASM_POWERPC_SWITCH_TO_H */ | ||
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h index a02883d5af43..502c1e0275af 100644 --- a/arch/powerpc/include/asm/system.h +++ b/arch/powerpc/include/asm/system.h | |||
| @@ -1,592 +1,6 @@ | |||
| 1 | /* | 1 | /* FILE TO BE DELETED. DO NOT ADD STUFF HERE! */ |
| 2 | * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu> | 2 | #include <asm/barrier.h> |
| 3 | */ | 3 | #include <asm/cmpxchg.h> |
| 4 | #ifndef _ASM_POWERPC_SYSTEM_H | 4 | #include <asm/debug.h> |
| 5 | #define _ASM_POWERPC_SYSTEM_H | 5 | #include <asm/exec.h> |
| 6 | 6 | #include <asm/switch_to.h> | |
| 7 | #include <linux/kernel.h> | ||
| 8 | #include <linux/irqflags.h> | ||
| 9 | |||
| 10 | #include <asm/hw_irq.h> | ||
| 11 | |||
| 12 | /* | ||
| 13 | * Memory barrier. | ||
| 14 | * The sync instruction guarantees that all memory accesses initiated | ||
| 15 | * by this processor have been performed (with respect to all other | ||
| 16 | * mechanisms that access memory). The eieio instruction is a barrier | ||
| 17 | * providing an ordering (separately) for (a) cacheable stores and (b) | ||
| 18 | * loads and stores to non-cacheable memory (e.g. I/O devices). | ||
| 19 | * | ||
| 20 | * mb() prevents loads and stores being reordered across this point. | ||
| 21 | * rmb() prevents loads being reordered across this point. | ||
| 22 | * wmb() prevents stores being reordered across this point. | ||
| 23 | * read_barrier_depends() prevents data-dependent loads being reordered | ||
| 24 | * across this point (nop on PPC). | ||
| 25 | * | ||
| 26 | * *mb() variants without smp_ prefix must order all types of memory | ||
| 27 | * operations with one another. sync is the only instruction sufficient | ||
| 28 | * to do this. | ||
| 29 | * | ||
| 30 | * For the smp_ barriers, ordering is for cacheable memory operations | ||
| 31 | * only. We have to use the sync instruction for smp_mb(), since lwsync | ||
| 32 | * doesn't order loads with respect to previous stores. Lwsync can be | ||
| 33 | * used for smp_rmb() and smp_wmb(). | ||
| 34 | * | ||
| 35 | * However, on CPUs that don't support lwsync, lwsync actually maps to a | ||
| 36 | * heavy-weight sync, so smp_wmb() can be a lighter-weight eieio. | ||
| 37 | */ | ||
| 38 | #define mb() __asm__ __volatile__ ("sync" : : : "memory") | ||
| 39 | #define rmb() __asm__ __volatile__ ("sync" : : : "memory") | ||
| 40 | #define wmb() __asm__ __volatile__ ("sync" : : : "memory") | ||
| 41 | #define read_barrier_depends() do { } while(0) | ||
| 42 | |||
| 43 | #define set_mb(var, value) do { var = value; mb(); } while (0) | ||
| 44 | |||
| 45 | #ifdef __KERNEL__ | ||
| 46 | #define AT_VECTOR_SIZE_ARCH 6 /* entries in ARCH_DLINFO */ | ||
| 47 | #ifdef CONFIG_SMP | ||
| 48 | |||
| 49 | #ifdef __SUBARCH_HAS_LWSYNC | ||
| 50 | # define SMPWMB LWSYNC | ||
| 51 | #else | ||
| 52 | # define SMPWMB eieio | ||
| 53 | #endif | ||
| 54 | |||
| 55 | #define smp_mb() mb() | ||
| 56 | #define smp_rmb() __asm__ __volatile__ (stringify_in_c(LWSYNC) : : :"memory") | ||
| 57 | #define smp_wmb() __asm__ __volatile__ (stringify_in_c(SMPWMB) : : :"memory") | ||
| 58 | #define smp_read_barrier_depends() read_barrier_depends() | ||
| 59 | #else | ||
| 60 | #define smp_mb() barrier() | ||
| 61 | #define smp_rmb() barrier() | ||
| 62 | #define smp_wmb() barrier() | ||
| 63 | #define smp_read_barrier_depends() do { } while(0) | ||
| 64 | #endif /* CONFIG_SMP */ | ||
| 65 | |||
| 66 | /* | ||
| 67 | * This is a barrier which prevents following instructions from being | ||
| 68 | * started until the value of the argument x is known. For example, if | ||
| 69 | * x is a variable loaded from memory, this prevents following | ||
| 70 | * instructions from being executed until the load has been performed. | ||
| 71 | */ | ||
| 72 | #define data_barrier(x) \ | ||
| 73 | asm volatile("twi 0,%0,0; isync" : : "r" (x) : "memory"); | ||
| 74 | |||
| 75 | struct task_struct; | ||
| 76 | struct pt_regs; | ||
| 77 | |||
| 78 | #if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC) | ||
| 79 | |||
| 80 | extern int (*__debugger)(struct pt_regs *regs); | ||
| 81 | extern int (*__debugger_ipi)(struct pt_regs *regs); | ||
| 82 | extern int (*__debugger_bpt)(struct pt_regs *regs); | ||
| 83 | extern int (*__debugger_sstep)(struct pt_regs *regs); | ||
| 84 | extern int (*__debugger_iabr_match)(struct pt_regs *regs); | ||
| 85 | extern int (*__debugger_dabr_match)(struct pt_regs *regs); | ||
| 86 | extern int (*__debugger_fault_handler)(struct pt_regs *regs); | ||
| 87 | |||
| 88 | #define DEBUGGER_BOILERPLATE(__NAME) \ | ||
| 89 | static inline int __NAME(struct pt_regs *regs) \ | ||
| 90 | { \ | ||
| 91 | if (unlikely(__ ## __NAME)) \ | ||
| 92 | return __ ## __NAME(regs); \ | ||
| 93 | return 0; \ | ||
| 94 | } | ||
| 95 | |||
| 96 | DEBUGGER_BOILERPLATE(debugger) | ||
| 97 | DEBUGGER_BOILERPLATE(debugger_ipi) | ||
| 98 | DEBUGGER_BOILERPLATE(debugger_bpt) | ||
| 99 | DEBUGGER_BOILERPLATE(debugger_sstep) | ||
| 100 | DEBUGGER_BOILERPLATE(debugger_iabr_match) | ||
| 101 | DEBUGGER_BOILERPLATE(debugger_dabr_match) | ||
| 102 | DEBUGGER_BOILERPLATE(debugger_fault_handler) | ||
| 103 | |||
| 104 | #else | ||
| 105 | static inline int debugger(struct pt_regs *regs) { return 0; } | ||
| 106 | static inline int debugger_ipi(struct pt_regs *regs) { return 0; } | ||
| 107 | static inline int debugger_bpt(struct pt_regs *regs) { return 0; } | ||
| 108 | static inline int debugger_sstep(struct pt_regs *regs) { return 0; } | ||
| 109 | static inline int debugger_iabr_match(struct pt_regs *regs) { return 0; } | ||
| 110 | static inline int debugger_dabr_match(struct pt_regs *regs) { return 0; } | ||
| 111 | static inline int debugger_fault_handler(struct pt_regs *regs) { return 0; } | ||
| 112 | #endif | ||
| 113 | |||
| 114 | extern int set_dabr(unsigned long dabr); | ||
| 115 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS | ||
| 116 | extern void do_send_trap(struct pt_regs *regs, unsigned long address, | ||
| 117 | unsigned long error_code, int signal_code, int brkpt); | ||
| 118 | #else | ||
| 119 | extern void do_dabr(struct pt_regs *regs, unsigned long address, | ||
| 120 | unsigned long error_code); | ||
| 121 | #endif | ||
| 122 | extern void print_backtrace(unsigned long *); | ||
| 123 | extern void flush_instruction_cache(void); | ||
| 124 | extern void hard_reset_now(void); | ||
| 125 | extern void poweroff_now(void); | ||
| 126 | |||
| 127 | #ifdef CONFIG_6xx | ||
| 128 | extern long _get_L2CR(void); | ||
| 129 | extern long _get_L3CR(void); | ||
| 130 | extern void _set_L2CR(unsigned long); | ||
| 131 | extern void _set_L3CR(unsigned long); | ||
| 132 | #else | ||
| 133 | #define _get_L2CR() 0L | ||
| 134 | #define _get_L3CR() 0L | ||
| 135 | #define _set_L2CR(val) do { } while(0) | ||
| 136 | #define _set_L3CR(val) do { } while(0) | ||
| 137 | #endif | ||
| 138 | |||
| 139 | extern void via_cuda_init(void); | ||
| 140 | extern void read_rtc_time(void); | ||
| 141 | extern void pmac_find_display(void); | ||
| 142 | extern void giveup_fpu(struct task_struct *); | ||
| 143 | extern void disable_kernel_fp(void); | ||
| 144 | extern void enable_kernel_fp(void); | ||
| 145 | extern void flush_fp_to_thread(struct task_struct *); | ||
| 146 | extern void enable_kernel_altivec(void); | ||
| 147 | extern void giveup_altivec(struct task_struct *); | ||
| 148 | extern void load_up_altivec(struct task_struct *); | ||
| 149 | extern int emulate_altivec(struct pt_regs *); | ||
| 150 | extern void __giveup_vsx(struct task_struct *); | ||
| 151 | extern void giveup_vsx(struct task_struct *); | ||
| 152 | extern void enable_kernel_spe(void); | ||
| 153 | extern void giveup_spe(struct task_struct *); | ||
| 154 | extern void load_up_spe(struct task_struct *); | ||
| 155 | extern int fix_alignment(struct pt_regs *); | ||
| 156 | extern void cvt_fd(float *from, double *to); | ||
| 157 | extern void cvt_df(double *from, float *to); | ||
| 158 | |||
| 159 | #ifndef CONFIG_SMP | ||
| 160 | extern void discard_lazy_cpu_state(void); | ||
| 161 | #else | ||
| 162 | static inline void discard_lazy_cpu_state(void) | ||
| 163 | { | ||
| 164 | } | ||
| 165 | #endif | ||
| 166 | |||
| 167 | #ifdef CONFIG_ALTIVEC | ||
| 168 | extern void flush_altivec_to_thread(struct task_struct *); | ||
| 169 | #else | ||
| 170 | static inline void flush_altivec_to_thread(struct task_struct *t) | ||
| 171 | { | ||
| 172 | } | ||
| 173 | #endif | ||
| 174 | |||
| 175 | #ifdef CONFIG_VSX | ||
| 176 | extern void flush_vsx_to_thread(struct task_struct *); | ||
| 177 | #else | ||
| 178 | static inline void flush_vsx_to_thread(struct task_struct *t) | ||
| 179 | { | ||
| 180 | } | ||
| 181 | #endif | ||
| 182 | |||
| 183 | #ifdef CONFIG_SPE | ||
| 184 | extern void flush_spe_to_thread(struct task_struct *); | ||
| 185 | #else | ||
| 186 | static inline void flush_spe_to_thread(struct task_struct *t) | ||
| 187 | { | ||
| 188 | } | ||
| 189 | #endif | ||
| 190 | |||
| 191 | extern int call_rtas(const char *, int, int, unsigned long *, ...); | ||
| 192 | extern void cacheable_memzero(void *p, unsigned int nb); | ||
| 193 | extern void *cacheable_memcpy(void *, const void *, unsigned int); | ||
| 194 | extern int do_page_fault(struct pt_regs *, unsigned long, unsigned long); | ||
| 195 | extern void bad_page_fault(struct pt_regs *, unsigned long, int); | ||
| 196 | extern void _exception(int, struct pt_regs *, int, unsigned long); | ||
| 197 | extern void die(const char *, struct pt_regs *, long); | ||
| 198 | extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val); | ||
| 199 | |||
| 200 | #ifdef CONFIG_BOOKE_WDT | ||
| 201 | extern u32 booke_wdt_enabled; | ||
| 202 | extern u32 booke_wdt_period; | ||
| 203 | #endif /* CONFIG_BOOKE_WDT */ | ||
| 204 | |||
| 205 | struct device_node; | ||
| 206 | extern void note_scsi_host(struct device_node *, void *); | ||
| 207 | |||
| 208 | extern struct task_struct *__switch_to(struct task_struct *, | ||
| 209 | struct task_struct *); | ||
| 210 | #define switch_to(prev, next, last) ((last) = __switch_to((prev), (next))) | ||
| 211 | |||
| 212 | struct thread_struct; | ||
| 213 | extern struct task_struct *_switch(struct thread_struct *prev, | ||
| 214 | struct thread_struct *next); | ||
| 215 | |||
| 216 | extern unsigned int rtas_data; | ||
| 217 | extern int mem_init_done; /* set on boot once kmalloc can be called */ | ||
| 218 | extern int init_bootmem_done; /* set once bootmem is available */ | ||
| 219 | extern phys_addr_t memory_limit; | ||
| 220 | extern unsigned long klimit; | ||
| 221 | extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask); | ||
| 222 | |||
| 223 | extern int powersave_nap; /* set if nap mode can be used in idle loop */ | ||
| 224 | void cpu_idle_wait(void); | ||
| 225 | |||
| 226 | #ifdef CONFIG_PSERIES_IDLE | ||
| 227 | extern void update_smt_snooze_delay(int snooze); | ||
| 228 | extern int pseries_notify_cpuidle_add_cpu(int cpu); | ||
| 229 | #else | ||
| 230 | static inline void update_smt_snooze_delay(int snooze) {} | ||
| 231 | static inline int pseries_notify_cpuidle_add_cpu(int cpu) { return 0; } | ||
| 232 | #endif | ||
| 233 | |||
| 234 | /* | ||
| 235 | * Atomic exchange | ||
| 236 | * | ||
| 237 | * Changes the memory location '*ptr' to be val and returns | ||
| 238 | * the previous value stored there. | ||
| 239 | */ | ||
| 240 | static __always_inline unsigned long | ||
| 241 | __xchg_u32(volatile void *p, unsigned long val) | ||
| 242 | { | ||
| 243 | unsigned long prev; | ||
| 244 | |||
| 245 | __asm__ __volatile__( | ||
| 246 | PPC_RELEASE_BARRIER | ||
| 247 | "1: lwarx %0,0,%2 \n" | ||
| 248 | PPC405_ERR77(0,%2) | ||
| 249 | " stwcx. %3,0,%2 \n\ | ||
| 250 | bne- 1b" | ||
| 251 | PPC_ACQUIRE_BARRIER | ||
| 252 | : "=&r" (prev), "+m" (*(volatile unsigned int *)p) | ||
| 253 | : "r" (p), "r" (val) | ||
| 254 | : "cc", "memory"); | ||
| 255 | |||
| 256 | return prev; | ||
| 257 | } | ||
| 258 | |||
| 259 | /* | ||
| 260 | * Atomic exchange | ||
| 261 | * | ||
| 262 | * Changes the memory location '*ptr' to be val and returns | ||
| 263 | * the previous value stored there. | ||
| 264 | */ | ||
| 265 | static __always_inline unsigned long | ||
| 266 | __xchg_u32_local(volatile void *p, unsigned long val) | ||
| 267 | { | ||
| 268 | unsigned long prev; | ||
| 269 | |||
| 270 | __asm__ __volatile__( | ||
| 271 | "1: lwarx %0,0,%2 \n" | ||
| 272 | PPC405_ERR77(0,%2) | ||
| 273 | " stwcx. %3,0,%2 \n\ | ||
| 274 | bne- 1b" | ||
| 275 | : "=&r" (prev), "+m" (*(volatile unsigned int *)p) | ||
| 276 | : "r" (p), "r" (val) | ||
| 277 | : "cc", "memory"); | ||
| 278 | |||
| 279 | return prev; | ||
| 280 | } | ||
| 281 | |||
| 282 | #ifdef CONFIG_PPC64 | ||
| 283 | static __always_inline unsigned long | ||
| 284 | __xchg_u64(volatile void *p, unsigned long val) | ||
| 285 | { | ||
| 286 | unsigned long prev; | ||
| 287 | |||
| 288 | __asm__ __volatile__( | ||
| 289 | PPC_RELEASE_BARRIER | ||
| 290 | "1: ldarx %0,0,%2 \n" | ||
| 291 | PPC405_ERR77(0,%2) | ||
| 292 | " stdcx. %3,0,%2 \n\ | ||
| 293 | bne- 1b" | ||
| 294 | PPC_ACQUIRE_BARRIER | ||
| 295 | : "=&r" (prev), "+m" (*(volatile unsigned long *)p) | ||
| 296 | : "r" (p), "r" (val) | ||
| 297 | : "cc", "memory"); | ||
| 298 | |||
| 299 | return prev; | ||
| 300 | } | ||
| 301 | |||
| 302 | static __always_inline unsigned long | ||
| 303 | __xchg_u64_local(volatile void *p, unsigned long val) | ||
| 304 | { | ||
| 305 | unsigned long prev; | ||
| 306 | |||
| 307 | __asm__ __volatile__( | ||
| 308 | "1: ldarx %0,0,%2 \n" | ||
| 309 | PPC405_ERR77(0,%2) | ||
| 310 | " stdcx. %3,0,%2 \n\ | ||
| 311 | bne- 1b" | ||
| 312 | : "=&r" (prev), "+m" (*(volatile unsigned long *)p) | ||
| 313 | : "r" (p), "r" (val) | ||
| 314 | : "cc", "memory"); | ||
| 315 | |||
| 316 | return prev; | ||
| 317 | } | ||
| 318 | #endif | ||
| 319 | |||
| 320 | /* | ||
| 321 | * This function doesn't exist, so you'll get a linker error | ||
| 322 | * if something tries to do an invalid xchg(). | ||
| 323 | */ | ||
| 324 | extern void __xchg_called_with_bad_pointer(void); | ||
| 325 | |||
| 326 | static __always_inline unsigned long | ||
| 327 | __xchg(volatile void *ptr, unsigned long x, unsigned int size) | ||
| 328 | { | ||
| 329 | switch (size) { | ||
| 330 | case 4: | ||
| 331 | return __xchg_u32(ptr, x); | ||
| 332 | #ifdef CONFIG_PPC64 | ||
| 333 | case 8: | ||
| 334 | return __xchg_u64(ptr, x); | ||
| 335 | #endif | ||
| 336 | } | ||
| 337 | __xchg_called_with_bad_pointer(); | ||
| 338 | return x; | ||
| 339 | } | ||
| 340 | |||
| 341 | static __always_inline unsigned long | ||
| 342 | __xchg_local(volatile void *ptr, unsigned long x, unsigned int size) | ||
| 343 | { | ||
| 344 | switch (size) { | ||
| 345 | case 4: | ||
| 346 | return __xchg_u32_local(ptr, x); | ||
| 347 | #ifdef CONFIG_PPC64 | ||
| 348 | case 8: | ||
| 349 | return __xchg_u64_local(ptr, x); | ||
| 350 | #endif | ||
| 351 | } | ||
| 352 | __xchg_called_with_bad_pointer(); | ||
| 353 | return x; | ||
| 354 | } | ||
| 355 | #define xchg(ptr,x) \ | ||
| 356 | ({ \ | ||
| 357 | __typeof__(*(ptr)) _x_ = (x); \ | ||
| 358 | (__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_, sizeof(*(ptr))); \ | ||
| 359 | }) | ||
| 360 | |||
| 361 | #define xchg_local(ptr,x) \ | ||
| 362 | ({ \ | ||
| 363 | __typeof__(*(ptr)) _x_ = (x); \ | ||
| 364 | (__typeof__(*(ptr))) __xchg_local((ptr), \ | ||
| 365 | (unsigned long)_x_, sizeof(*(ptr))); \ | ||
| 366 | }) | ||
| 367 | |||
| 368 | /* | ||
| 369 | * Compare and exchange - if *p == old, set it to new, | ||
| 370 | * and return the old value of *p. | ||
| 371 | */ | ||
| 372 | #define __HAVE_ARCH_CMPXCHG 1 | ||
| 373 | |||
| 374 | static __always_inline unsigned long | ||
| 375 | __cmpxchg_u32(volatile unsigned int *p, unsigned long old, unsigned long new) | ||
| 376 | { | ||
| 377 | unsigned int prev; | ||
| 378 | |||
| 379 | __asm__ __volatile__ ( | ||
| 380 | PPC_RELEASE_BARRIER | ||
| 381 | "1: lwarx %0,0,%2 # __cmpxchg_u32\n\ | ||
| 382 | cmpw 0,%0,%3\n\ | ||
| 383 | bne- 2f\n" | ||
| 384 | PPC405_ERR77(0,%2) | ||
| 385 | " stwcx. %4,0,%2\n\ | ||
| 386 | bne- 1b" | ||
| 387 | PPC_ACQUIRE_BARRIER | ||
| 388 | "\n\ | ||
| 389 | 2:" | ||
| 390 | : "=&r" (prev), "+m" (*p) | ||
| 391 | : "r" (p), "r" (old), "r" (new) | ||
| 392 | : "cc", "memory"); | ||
| 393 | |||
| 394 | return prev; | ||
| 395 | } | ||
| 396 | |||
| 397 | static __always_inline unsigned long | ||
| 398 | __cmpxchg_u32_local(volatile unsigned int *p, unsigned long old, | ||
| 399 | unsigned long new) | ||
| 400 | { | ||
| 401 | unsigned int prev; | ||
| 402 | |||
| 403 | __asm__ __volatile__ ( | ||
| 404 | "1: lwarx %0,0,%2 # __cmpxchg_u32\n\ | ||
| 405 | cmpw 0,%0,%3\n\ | ||
| 406 | bne- 2f\n" | ||
| 407 | PPC405_ERR77(0,%2) | ||
| 408 | " stwcx. %4,0,%2\n\ | ||
| 409 | bne- 1b" | ||
| 410 | "\n\ | ||
| 411 | 2:" | ||
| 412 | : "=&r" (prev), "+m" (*p) | ||
| 413 | : "r" (p), "r" (old), "r" (new) | ||
| 414 | : "cc", "memory"); | ||
| 415 | |||
| 416 | return prev; | ||
| 417 | } | ||
| 418 | |||
| 419 | #ifdef CONFIG_PPC64 | ||
| 420 | static __always_inline unsigned long | ||
| 421 | __cmpxchg_u64(volatile unsigned long *p, unsigned long old, unsigned long new) | ||
| 422 | { | ||
| 423 | unsigned long prev; | ||
| 424 | |||
| 425 | __asm__ __volatile__ ( | ||
| 426 | PPC_RELEASE_BARRIER | ||
| 427 | "1: ldarx %0,0,%2 # __cmpxchg_u64\n\ | ||
| 428 | cmpd 0,%0,%3\n\ | ||
| 429 | bne- 2f\n\ | ||
| 430 | stdcx. %4,0,%2\n\ | ||
| 431 | bne- 1b" | ||
| 432 | PPC_ACQUIRE_BARRIER | ||
| 433 | "\n\ | ||
| 434 | 2:" | ||
| 435 | : "=&r" (prev), "+m" (*p) | ||
| 436 | : "r" (p), "r" (old), "r" (new) | ||
| 437 | : "cc", "memory"); | ||
| 438 | |||
| 439 | return prev; | ||
| 440 | } | ||
| 441 | |||
| 442 | static __always_inline unsigned long | ||
| 443 | __cmpxchg_u64_local(volatile unsigned long *p, unsigned long old, | ||
| 444 | unsigned long new) | ||
| 445 | { | ||
| 446 | unsigned long prev; | ||
| 447 | |||
| 448 | __asm__ __volatile__ ( | ||
| 449 | "1: ldarx %0,0,%2 # __cmpxchg_u64\n\ | ||
| 450 | cmpd 0,%0,%3\n\ | ||
| 451 | bne- 2f\n\ | ||
| 452 | stdcx. %4,0,%2\n\ | ||
| 453 | bne- 1b" | ||
| 454 | "\n\ | ||
| 455 | 2:" | ||
| 456 | : "=&r" (prev), "+m" (*p) | ||
| 457 | : "r" (p), "r" (old), "r" (new) | ||
| 458 | : "cc", "memory"); | ||
| 459 | |||
| 460 | return prev; | ||
| 461 | } | ||
| 462 | #endif | ||
| 463 | |||
| 464 | /* This function doesn't exist, so you'll get a linker error | ||
| 465 | if something tries to do an invalid cmpxchg(). */ | ||
| 466 | extern void __cmpxchg_called_with_bad_pointer(void); | ||
| 467 | |||
| 468 | static __always_inline unsigned long | ||
| 469 | __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, | ||
| 470 | unsigned int size) | ||
| 471 | { | ||
| 472 | switch (size) { | ||
| 473 | case 4: | ||
| 474 | return __cmpxchg_u32(ptr, old, new); | ||
| 475 | #ifdef CONFIG_PPC64 | ||
| 476 | case 8: | ||
| 477 | return __cmpxchg_u64(ptr, old, new); | ||
| 478 | #endif | ||
| 479 | } | ||
| 480 | __cmpxchg_called_with_bad_pointer(); | ||
| 481 | return old; | ||
| 482 | } | ||
| 483 | |||
| 484 | static __always_inline unsigned long | ||
| 485 | __cmpxchg_local(volatile void *ptr, unsigned long old, unsigned long new, | ||
| 486 | unsigned int size) | ||
| 487 | { | ||
| 488 | switch (size) { | ||
| 489 | case 4: | ||
| 490 | return __cmpxchg_u32_local(ptr, old, new); | ||
| 491 | #ifdef CONFIG_PPC64 | ||
| 492 | case 8: | ||
| 493 | return __cmpxchg_u64_local(ptr, old, new); | ||
| 494 | #endif | ||
| 495 | } | ||
| 496 | __cmpxchg_called_with_bad_pointer(); | ||
| 497 | return old; | ||
| 498 | } | ||
| 499 | |||
| 500 | #define cmpxchg(ptr, o, n) \ | ||
| 501 | ({ \ | ||
| 502 | __typeof__(*(ptr)) _o_ = (o); \ | ||
| 503 | __typeof__(*(ptr)) _n_ = (n); \ | ||
| 504 | (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_, \ | ||
| 505 | (unsigned long)_n_, sizeof(*(ptr))); \ | ||
| 506 | }) | ||
| 507 | |||
| 508 | |||
| 509 | #define cmpxchg_local(ptr, o, n) \ | ||
| 510 | ({ \ | ||
| 511 | __typeof__(*(ptr)) _o_ = (o); \ | ||
| 512 | __typeof__(*(ptr)) _n_ = (n); \ | ||
| 513 | (__typeof__(*(ptr))) __cmpxchg_local((ptr), (unsigned long)_o_, \ | ||
| 514 | (unsigned long)_n_, sizeof(*(ptr))); \ | ||
| 515 | }) | ||
| 516 | |||
| 517 | #ifdef CONFIG_PPC64 | ||
| 518 | /* | ||
| 519 | * We handle most unaligned accesses in hardware. On the other hand | ||
| 520 | * unaligned DMA can be very expensive on some ppc64 IO chips (it does | ||
| 521 | * powers of 2 writes until it reaches sufficient alignment). | ||
| 522 | * | ||
| 523 | * Based on this we disable the IP header alignment in network drivers. | ||
| 524 | */ | ||
| 525 | #define NET_IP_ALIGN 0 | ||
| 526 | |||
| 527 | #define cmpxchg64(ptr, o, n) \ | ||
| 528 | ({ \ | ||
| 529 | BUILD_BUG_ON(sizeof(*(ptr)) != 8); \ | ||
| 530 | cmpxchg((ptr), (o), (n)); \ | ||
| 531 | }) | ||
| 532 | #define cmpxchg64_local(ptr, o, n) \ | ||
| 533 | ({ \ | ||
| 534 | BUILD_BUG_ON(sizeof(*(ptr)) != 8); \ | ||
| 535 | cmpxchg_local((ptr), (o), (n)); \ | ||
| 536 | }) | ||
| 537 | #else | ||
| 538 | #include <asm-generic/cmpxchg-local.h> | ||
| 539 | #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) | ||
| 540 | #endif | ||
| 541 | |||
| 542 | extern unsigned long arch_align_stack(unsigned long sp); | ||
| 543 | |||
| 544 | /* Used in very early kernel initialization. */ | ||
| 545 | extern unsigned long reloc_offset(void); | ||
| 546 | extern unsigned long add_reloc_offset(unsigned long); | ||
| 547 | extern void reloc_got2(unsigned long); | ||
| 548 | |||
| 549 | #define PTRRELOC(x) ((typeof(x)) add_reloc_offset((unsigned long)(x))) | ||
| 550 | |||
| 551 | extern struct dentry *powerpc_debugfs_root; | ||
| 552 | |||
| 553 | #ifdef CONFIG_PPC64 | ||
| 554 | |||
| 555 | extern void __ppc64_runlatch_on(void); | ||
| 556 | extern void __ppc64_runlatch_off(void); | ||
| 557 | |||
| 558 | /* | ||
| 559 | * We manually hard enable-disable, this is called | ||
| 560 | * in the idle loop and we don't want to mess up | ||
| 561 | * with soft-disable/enable & interrupt replay. | ||
| 562 | */ | ||
| 563 | #define ppc64_runlatch_off() \ | ||
| 564 | do { \ | ||
| 565 | if (cpu_has_feature(CPU_FTR_CTRL) && \ | ||
| 566 | test_thread_local_flags(_TLF_RUNLATCH)) { \ | ||
| 567 | unsigned long msr = mfmsr(); \ | ||
| 568 | __hard_irq_disable(); \ | ||
| 569 | __ppc64_runlatch_off(); \ | ||
| 570 | if (msr & MSR_EE) \ | ||
| 571 | __hard_irq_enable(); \ | ||
| 572 | } \ | ||
| 573 | } while (0) | ||
| 574 | |||
| 575 | #define ppc64_runlatch_on() \ | ||
| 576 | do { \ | ||
| 577 | if (cpu_has_feature(CPU_FTR_CTRL) && \ | ||
| 578 | !test_thread_local_flags(_TLF_RUNLATCH)) { \ | ||
| 579 | unsigned long msr = mfmsr(); \ | ||
| 580 | __hard_irq_disable(); \ | ||
| 581 | __ppc64_runlatch_on(); \ | ||
| 582 | if (msr & MSR_EE) \ | ||
| 583 | __hard_irq_enable(); \ | ||
| 584 | } \ | ||
| 585 | } while (0) | ||
| 586 | #else | ||
| 587 | #define ppc64_runlatch_on() | ||
| 588 | #define ppc64_runlatch_off() | ||
| 589 | #endif /* CONFIG_PPC64 */ | ||
| 590 | |||
| 591 | #endif /* __KERNEL__ */ | ||
| 592 | #endif /* _ASM_POWERPC_SYSTEM_H */ | ||
diff --git a/arch/powerpc/kernel/align.c b/arch/powerpc/kernel/align.c index 8184ee97e484..ee5b690a0bed 100644 --- a/arch/powerpc/kernel/align.c +++ b/arch/powerpc/kernel/align.c | |||
| @@ -21,10 +21,10 @@ | |||
| 21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
| 22 | #include <asm/processor.h> | 22 | #include <asm/processor.h> |
| 23 | #include <asm/uaccess.h> | 23 | #include <asm/uaccess.h> |
| 24 | #include <asm/system.h> | ||
| 25 | #include <asm/cache.h> | 24 | #include <asm/cache.h> |
| 26 | #include <asm/cputable.h> | 25 | #include <asm/cputable.h> |
| 27 | #include <asm/emulated_ops.h> | 26 | #include <asm/emulated_ops.h> |
| 27 | #include <asm/switch_to.h> | ||
| 28 | 28 | ||
| 29 | struct aligninfo { | 29 | struct aligninfo { |
| 30 | unsigned char len; | 30 | unsigned char len; |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 138ae183c440..455faa389876 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <asm/cputable.h> | 20 | #include <asm/cputable.h> |
| 21 | #include <asm/prom.h> /* for PTRRELOC on ARCH=ppc */ | 21 | #include <asm/prom.h> /* for PTRRELOC on ARCH=ppc */ |
| 22 | #include <asm/mmu.h> | 22 | #include <asm/mmu.h> |
| 23 | #include <asm/setup.h> | ||
| 23 | 24 | ||
| 24 | struct cpu_spec* cur_cpu_spec = NULL; | 25 | struct cpu_spec* cur_cpu_spec = NULL; |
| 25 | EXPORT_SYMBOL(cur_cpu_spec); | 26 | EXPORT_SYMBOL(cur_cpu_spec); |
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c index abef75176c07..fdcd8f551aff 100644 --- a/arch/powerpc/kernel/crash.c +++ b/arch/powerpc/kernel/crash.c | |||
| @@ -27,8 +27,8 @@ | |||
| 27 | #include <asm/kdump.h> | 27 | #include <asm/kdump.h> |
| 28 | #include <asm/prom.h> | 28 | #include <asm/prom.h> |
| 29 | #include <asm/smp.h> | 29 | #include <asm/smp.h> |
| 30 | #include <asm/system.h> | ||
| 31 | #include <asm/setjmp.h> | 30 | #include <asm/setjmp.h> |
| 31 | #include <asm/debug.h> | ||
| 32 | 32 | ||
| 33 | /* | 33 | /* |
| 34 | * The primary CPU waits a while for all secondary CPUs to enter. This is to | 34 | * The primary CPU waits a while for all secondary CPUs to enter. This is to |
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c index e8e821146f38..6d2209ac0c44 100644 --- a/arch/powerpc/kernel/idle.c +++ b/arch/powerpc/kernel/idle.c | |||
| @@ -26,11 +26,11 @@ | |||
| 26 | #include <linux/sysctl.h> | 26 | #include <linux/sysctl.h> |
| 27 | #include <linux/tick.h> | 27 | #include <linux/tick.h> |
| 28 | 28 | ||
| 29 | #include <asm/system.h> | ||
| 30 | #include <asm/processor.h> | 29 | #include <asm/processor.h> |
| 31 | #include <asm/cputable.h> | 30 | #include <asm/cputable.h> |
| 32 | #include <asm/time.h> | 31 | #include <asm/time.h> |
| 33 | #include <asm/machdep.h> | 32 | #include <asm/machdep.h> |
| 33 | #include <asm/runlatch.h> | ||
| 34 | #include <asm/smp.h> | 34 | #include <asm/smp.h> |
| 35 | 35 | ||
| 36 | #ifdef CONFIG_HOTPLUG_CPU | 36 | #ifdef CONFIG_HOTPLUG_CPU |
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index a3d128e94cff..2c5635dce05f 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
| @@ -57,7 +57,6 @@ | |||
| 57 | #include <linux/of_irq.h> | 57 | #include <linux/of_irq.h> |
| 58 | 58 | ||
| 59 | #include <asm/uaccess.h> | 59 | #include <asm/uaccess.h> |
| 60 | #include <asm/system.h> | ||
| 61 | #include <asm/io.h> | 60 | #include <asm/io.h> |
| 62 | #include <asm/pgtable.h> | 61 | #include <asm/pgtable.h> |
| 63 | #include <asm/irq.h> | 62 | #include <asm/irq.h> |
| @@ -67,6 +66,7 @@ | |||
| 67 | #include <asm/machdep.h> | 66 | #include <asm/machdep.h> |
| 68 | #include <asm/udbg.h> | 67 | #include <asm/udbg.h> |
| 69 | #include <asm/smp.h> | 68 | #include <asm/smp.h> |
| 69 | #include <asm/debug.h> | ||
| 70 | 70 | ||
| 71 | #ifdef CONFIG_PPC64 | 71 | #ifdef CONFIG_PPC64 |
| 72 | #include <asm/paca.h> | 72 | #include <asm/paca.h> |
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c index bc47352deb1f..e88c64331819 100644 --- a/arch/powerpc/kernel/kprobes.c +++ b/arch/powerpc/kernel/kprobes.c | |||
| @@ -35,7 +35,6 @@ | |||
| 35 | #include <asm/cacheflush.h> | 35 | #include <asm/cacheflush.h> |
| 36 | #include <asm/sstep.h> | 36 | #include <asm/sstep.h> |
| 37 | #include <asm/uaccess.h> | 37 | #include <asm/uaccess.h> |
| 38 | #include <asm/system.h> | ||
| 39 | 38 | ||
| 40 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS | 39 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS |
| 41 | #define MSR_SINGLESTEP (MSR_DE) | 40 | #define MSR_SINGLESTEP (MSR_DE) |
diff --git a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c index ac12bd80ad95..f5725bce9ed2 100644 --- a/arch/powerpc/kernel/lparcfg.c +++ b/arch/powerpc/kernel/lparcfg.c | |||
| @@ -30,7 +30,6 @@ | |||
| 30 | #include <asm/hvcall.h> | 30 | #include <asm/hvcall.h> |
| 31 | #include <asm/firmware.h> | 31 | #include <asm/firmware.h> |
| 32 | #include <asm/rtas.h> | 32 | #include <asm/rtas.h> |
| 33 | #include <asm/system.h> | ||
| 34 | #include <asm/time.h> | 33 | #include <asm/time.h> |
| 35 | #include <asm/prom.h> | 34 | #include <asm/prom.h> |
| 36 | #include <asm/vdso_datapage.h> | 35 | #include <asm/vdso_datapage.h> |
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c index d3114a71dd32..786a2700ec2d 100644 --- a/arch/powerpc/kernel/ppc_ksyms.c +++ b/arch/powerpc/kernel/ppc_ksyms.c | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | #include <linux/cuda.h> | 26 | #include <linux/cuda.h> |
| 27 | #include <linux/pmu.h> | 27 | #include <linux/pmu.h> |
| 28 | #include <asm/prom.h> | 28 | #include <asm/prom.h> |
| 29 | #include <asm/system.h> | ||
| 30 | #include <asm/pci-bridge.h> | 29 | #include <asm/pci-bridge.h> |
| 31 | #include <asm/irq.h> | 30 | #include <asm/irq.h> |
| 32 | #include <asm/pmac_feature.h> | 31 | #include <asm/pmac_feature.h> |
| @@ -43,6 +42,7 @@ | |||
| 43 | #include <asm/signal.h> | 42 | #include <asm/signal.h> |
| 44 | #include <asm/dcr.h> | 43 | #include <asm/dcr.h> |
| 45 | #include <asm/ftrace.h> | 44 | #include <asm/ftrace.h> |
| 45 | #include <asm/switch_to.h> | ||
| 46 | 46 | ||
| 47 | #ifdef CONFIG_PPC32 | 47 | #ifdef CONFIG_PPC32 |
| 48 | extern void transfer_to_handler(void); | 48 | extern void transfer_to_handler(void); |
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index e40707032ac3..f88698c0f332 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
| @@ -41,14 +41,16 @@ | |||
| 41 | 41 | ||
| 42 | #include <asm/pgtable.h> | 42 | #include <asm/pgtable.h> |
| 43 | #include <asm/uaccess.h> | 43 | #include <asm/uaccess.h> |
| 44 | #include <asm/system.h> | ||
| 45 | #include <asm/io.h> | 44 | #include <asm/io.h> |
| 46 | #include <asm/processor.h> | 45 | #include <asm/processor.h> |
| 47 | #include <asm/mmu.h> | 46 | #include <asm/mmu.h> |
| 48 | #include <asm/prom.h> | 47 | #include <asm/prom.h> |
| 49 | #include <asm/machdep.h> | 48 | #include <asm/machdep.h> |
| 50 | #include <asm/time.h> | 49 | #include <asm/time.h> |
| 50 | #include <asm/runlatch.h> | ||
| 51 | #include <asm/syscalls.h> | 51 | #include <asm/syscalls.h> |
| 52 | #include <asm/switch_to.h> | ||
| 53 | #include <asm/debug.h> | ||
| 52 | #ifdef CONFIG_PPC64 | 54 | #ifdef CONFIG_PPC64 |
| 53 | #include <asm/firmware.h> | 55 | #include <asm/firmware.h> |
| 54 | #endif | 56 | #endif |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 89e850af3dd6..f191bf02943a 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
| @@ -41,7 +41,6 @@ | |||
| 41 | #include <asm/io.h> | 41 | #include <asm/io.h> |
| 42 | #include <asm/kdump.h> | 42 | #include <asm/kdump.h> |
| 43 | #include <asm/smp.h> | 43 | #include <asm/smp.h> |
| 44 | #include <asm/system.h> | ||
| 45 | #include <asm/mmu.h> | 44 | #include <asm/mmu.h> |
| 46 | #include <asm/paca.h> | 45 | #include <asm/paca.h> |
| 47 | #include <asm/pgtable.h> | 46 | #include <asm/pgtable.h> |
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index e2d599048142..b2aae219b4b2 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
| @@ -35,7 +35,6 @@ | |||
| 35 | #include <asm/irq.h> | 35 | #include <asm/irq.h> |
| 36 | #include <asm/io.h> | 36 | #include <asm/io.h> |
| 37 | #include <asm/smp.h> | 37 | #include <asm/smp.h> |
| 38 | #include <asm/system.h> | ||
| 39 | #include <asm/mmu.h> | 38 | #include <asm/mmu.h> |
| 40 | #include <asm/pgtable.h> | 39 | #include <asm/pgtable.h> |
| 41 | #include <asm/pci.h> | 40 | #include <asm/pci.h> |
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index 5b43325402bc..8d8e028893be 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c | |||
| @@ -36,7 +36,7 @@ | |||
| 36 | #include <asm/uaccess.h> | 36 | #include <asm/uaccess.h> |
| 37 | #include <asm/page.h> | 37 | #include <asm/page.h> |
| 38 | #include <asm/pgtable.h> | 38 | #include <asm/pgtable.h> |
| 39 | #include <asm/system.h> | 39 | #include <asm/switch_to.h> |
| 40 | 40 | ||
| 41 | #define CREATE_TRACE_POINTS | 41 | #define CREATE_TRACE_POINTS |
| 42 | #include <trace/events/syscalls.h> | 42 | #include <trace/events/syscalls.h> |
diff --git a/arch/powerpc/kernel/ptrace32.c b/arch/powerpc/kernel/ptrace32.c index 69c4be917d07..469349d14a97 100644 --- a/arch/powerpc/kernel/ptrace32.c +++ b/arch/powerpc/kernel/ptrace32.c | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | #include <asm/uaccess.h> | 32 | #include <asm/uaccess.h> |
| 33 | #include <asm/page.h> | 33 | #include <asm/page.h> |
| 34 | #include <asm/pgtable.h> | 34 | #include <asm/pgtable.h> |
| 35 | #include <asm/system.h> | 35 | #include <asm/switch_to.h> |
| 36 | 36 | ||
| 37 | /* | 37 | /* |
| 38 | * does not yet catch signals sent when the child dies. | 38 | * does not yet catch signals sent when the child dies. |
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index 9f843cdfee9e..3dc679930d00 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c | |||
| @@ -33,7 +33,6 @@ | |||
| 33 | #include <asm/firmware.h> | 33 | #include <asm/firmware.h> |
| 34 | #include <asm/page.h> | 34 | #include <asm/page.h> |
| 35 | #include <asm/param.h> | 35 | #include <asm/param.h> |
| 36 | #include <asm/system.h> | ||
| 37 | #include <asm/delay.h> | 36 | #include <asm/delay.h> |
| 38 | #include <asm/uaccess.h> | 37 | #include <asm/uaccess.h> |
| 39 | #include <asm/udbg.h> | 38 | #include <asm/udbg.h> |
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index b0ebdeab9494..afd4f051f3f2 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
| @@ -51,7 +51,6 @@ | |||
| 51 | #include <asm/btext.h> | 51 | #include <asm/btext.h> |
| 52 | #include <asm/nvram.h> | 52 | #include <asm/nvram.h> |
| 53 | #include <asm/setup.h> | 53 | #include <asm/setup.h> |
| 54 | #include <asm/system.h> | ||
| 55 | #include <asm/rtas.h> | 54 | #include <asm/rtas.h> |
| 56 | #include <asm/iommu.h> | 55 | #include <asm/iommu.h> |
| 57 | #include <asm/serial.h> | 56 | #include <asm/serial.h> |
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c index ac7610815113..9825f29d1faf 100644 --- a/arch/powerpc/kernel/setup_32.c +++ b/arch/powerpc/kernel/setup_32.c | |||
| @@ -30,7 +30,6 @@ | |||
| 30 | #include <asm/btext.h> | 30 | #include <asm/btext.h> |
| 31 | #include <asm/machdep.h> | 31 | #include <asm/machdep.h> |
| 32 | #include <asm/uaccess.h> | 32 | #include <asm/uaccess.h> |
| 33 | #include <asm/system.h> | ||
| 34 | #include <asm/pmac_feature.h> | 33 | #include <asm/pmac_feature.h> |
| 35 | #include <asm/sections.h> | 34 | #include <asm/sections.h> |
| 36 | #include <asm/nvram.h> | 35 | #include <asm/nvram.h> |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 4cb8f1e9d044..6d639b2d24c6 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
| @@ -52,7 +52,6 @@ | |||
| 52 | #include <asm/btext.h> | 52 | #include <asm/btext.h> |
| 53 | #include <asm/nvram.h> | 53 | #include <asm/nvram.h> |
| 54 | #include <asm/setup.h> | 54 | #include <asm/setup.h> |
| 55 | #include <asm/system.h> | ||
| 56 | #include <asm/rtas.h> | 55 | #include <asm/rtas.h> |
| 57 | #include <asm/iommu.h> | 56 | #include <asm/iommu.h> |
| 58 | #include <asm/serial.h> | 57 | #include <asm/serial.h> |
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c index 7006b7f4267a..651c5963662b 100644 --- a/arch/powerpc/kernel/signal.c +++ b/arch/powerpc/kernel/signal.c | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #include <asm/hw_breakpoint.h> | 15 | #include <asm/hw_breakpoint.h> |
| 16 | #include <asm/uaccess.h> | 16 | #include <asm/uaccess.h> |
| 17 | #include <asm/unistd.h> | 17 | #include <asm/unistd.h> |
| 18 | #include <asm/debug.h> | ||
| 18 | 19 | ||
| 19 | #include "signal.h" | 20 | #include "signal.h" |
| 20 | 21 | ||
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c index e061ef5dd449..45eb998557f8 100644 --- a/arch/powerpc/kernel/signal_32.c +++ b/arch/powerpc/kernel/signal_32.c | |||
| @@ -43,6 +43,7 @@ | |||
| 43 | #include <asm/syscalls.h> | 43 | #include <asm/syscalls.h> |
| 44 | #include <asm/sigcontext.h> | 44 | #include <asm/sigcontext.h> |
| 45 | #include <asm/vdso.h> | 45 | #include <asm/vdso.h> |
| 46 | #include <asm/switch_to.h> | ||
| 46 | #ifdef CONFIG_PPC64 | 47 | #ifdef CONFIG_PPC64 |
| 47 | #include "ppc32.h" | 48 | #include "ppc32.h" |
| 48 | #include <asm/unistd.h> | 49 | #include <asm/unistd.h> |
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c index a50b5ec281dc..2692efdb154e 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c | |||
| @@ -33,6 +33,7 @@ | |||
| 33 | #include <asm/cacheflush.h> | 33 | #include <asm/cacheflush.h> |
| 34 | #include <asm/syscalls.h> | 34 | #include <asm/syscalls.h> |
| 35 | #include <asm/vdso.h> | 35 | #include <asm/vdso.h> |
| 36 | #include <asm/switch_to.h> | ||
| 36 | 37 | ||
| 37 | #include "signal.h" | 38 | #include "signal.h" |
| 38 | 39 | ||
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 46695febc09f..d9f94410fd7f 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
| @@ -43,12 +43,12 @@ | |||
| 43 | #include <asm/machdep.h> | 43 | #include <asm/machdep.h> |
| 44 | #include <asm/cputhreads.h> | 44 | #include <asm/cputhreads.h> |
| 45 | #include <asm/cputable.h> | 45 | #include <asm/cputable.h> |
| 46 | #include <asm/system.h> | ||
| 47 | #include <asm/mpic.h> | 46 | #include <asm/mpic.h> |
| 48 | #include <asm/vdso_datapage.h> | 47 | #include <asm/vdso_datapage.h> |
| 49 | #ifdef CONFIG_PPC64 | 48 | #ifdef CONFIG_PPC64 |
| 50 | #include <asm/paca.h> | 49 | #include <asm/paca.h> |
| 51 | #endif | 50 | #endif |
| 51 | #include <asm/debug.h> | ||
| 52 | 52 | ||
| 53 | #ifdef DEBUG | 53 | #ifdef DEBUG |
| 54 | #include <asm/udbg.h> | 54 | #include <asm/udbg.h> |
diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c index af0e8290b4fc..29b2f81dd709 100644 --- a/arch/powerpc/kernel/softemu8xx.c +++ b/arch/powerpc/kernel/softemu8xx.c | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | 26 | ||
| 27 | #include <asm/pgtable.h> | 27 | #include <asm/pgtable.h> |
| 28 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
| 29 | #include <asm/system.h> | ||
| 30 | #include <asm/io.h> | 29 | #include <asm/io.h> |
| 31 | 30 | ||
| 32 | /* Eventually we may need a look-up table, but this works for now. | 31 | /* Eventually we may need a look-up table, but this works for now. |
diff --git a/arch/powerpc/kernel/swsusp.c b/arch/powerpc/kernel/swsusp.c index 641f9adc6205..eae33e10b65f 100644 --- a/arch/powerpc/kernel/swsusp.c +++ b/arch/powerpc/kernel/swsusp.c | |||
| @@ -10,9 +10,9 @@ | |||
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
| 13 | #include <asm/system.h> | ||
| 14 | #include <asm/current.h> | 13 | #include <asm/current.h> |
| 15 | #include <asm/mmu_context.h> | 14 | #include <asm/mmu_context.h> |
| 15 | #include <asm/switch_to.h> | ||
| 16 | 16 | ||
| 17 | void save_processor_state(void) | 17 | void save_processor_state(void) |
| 18 | { | 18 | { |
diff --git a/arch/powerpc/kernel/swsusp_64.c b/arch/powerpc/kernel/swsusp_64.c index 168e88480223..0e899e47c325 100644 --- a/arch/powerpc/kernel/swsusp_64.c +++ b/arch/powerpc/kernel/swsusp_64.c | |||
| @@ -6,7 +6,6 @@ | |||
| 6 | * GPLv2 | 6 | * GPLv2 |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | #include <asm/system.h> | ||
| 10 | #include <asm/iommu.h> | 9 | #include <asm/iommu.h> |
| 11 | #include <linux/irq.h> | 10 | #include <linux/irq.h> |
| 12 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c index 4e5bf1edc0f2..81c570633ead 100644 --- a/arch/powerpc/kernel/sys_ppc32.c +++ b/arch/powerpc/kernel/sys_ppc32.c | |||
| @@ -50,6 +50,7 @@ | |||
| 50 | #include <asm/mmu_context.h> | 50 | #include <asm/mmu_context.h> |
| 51 | #include <asm/ppc-pci.h> | 51 | #include <asm/ppc-pci.h> |
| 52 | #include <asm/syscalls.h> | 52 | #include <asm/syscalls.h> |
| 53 | #include <asm/switch_to.h> | ||
| 53 | 54 | ||
| 54 | 55 | ||
| 55 | asmlinkage long ppc32_select(u32 n, compat_ulong_t __user *inp, | 56 | asmlinkage long ppc32_select(u32 n, compat_ulong_t __user *inp, |
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c index 0c683d376b1c..3529446c2abd 100644 --- a/arch/powerpc/kernel/sysfs.c +++ b/arch/powerpc/kernel/sysfs.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <asm/machdep.h> | 17 | #include <asm/machdep.h> |
| 18 | #include <asm/smp.h> | 18 | #include <asm/smp.h> |
| 19 | #include <asm/pmc.h> | 19 | #include <asm/pmc.h> |
| 20 | #include <asm/system.h> | ||
| 21 | 20 | ||
| 22 | #include "cacheinfo.h" | 21 | #include "cacheinfo.h" |
| 23 | 22 | ||
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index a750409ccc4e..6aa0c663e247 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
| @@ -39,7 +39,6 @@ | |||
| 39 | #include <asm/emulated_ops.h> | 39 | #include <asm/emulated_ops.h> |
| 40 | #include <asm/pgtable.h> | 40 | #include <asm/pgtable.h> |
| 41 | #include <asm/uaccess.h> | 41 | #include <asm/uaccess.h> |
| 42 | #include <asm/system.h> | ||
| 43 | #include <asm/io.h> | 42 | #include <asm/io.h> |
| 44 | #include <asm/machdep.h> | 43 | #include <asm/machdep.h> |
| 45 | #include <asm/rtas.h> | 44 | #include <asm/rtas.h> |
| @@ -58,6 +57,8 @@ | |||
| 58 | #include <asm/ppc-opcode.h> | 57 | #include <asm/ppc-opcode.h> |
| 59 | #include <asm/rio.h> | 58 | #include <asm/rio.h> |
| 60 | #include <asm/fadump.h> | 59 | #include <asm/fadump.h> |
| 60 | #include <asm/switch_to.h> | ||
| 61 | #include <asm/debug.h> | ||
| 61 | 62 | ||
| 62 | #if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC) | 63 | #if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC) |
| 63 | int (*__debugger)(struct pt_regs *regs) __read_mostly; | 64 | int (*__debugger)(struct pt_regs *regs) __read_mostly; |
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index 7d14bb697d40..1ce1ec410a12 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c | |||
| @@ -24,7 +24,6 @@ | |||
| 24 | #include <linux/memblock.h> | 24 | #include <linux/memblock.h> |
| 25 | 25 | ||
| 26 | #include <asm/pgtable.h> | 26 | #include <asm/pgtable.h> |
| 27 | #include <asm/system.h> | ||
| 28 | #include <asm/processor.h> | 27 | #include <asm/processor.h> |
| 29 | #include <asm/mmu.h> | 28 | #include <asm/mmu.h> |
| 30 | #include <asm/mmu_context.h> | 29 | #include <asm/mmu_context.h> |
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index a7267167a550..ab4267760b7d 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c | |||
| @@ -45,6 +45,7 @@ | |||
| 45 | #include <asm/cputhreads.h> | 45 | #include <asm/cputhreads.h> |
| 46 | #include <asm/page.h> | 46 | #include <asm/page.h> |
| 47 | #include <asm/hvcall.h> | 47 | #include <asm/hvcall.h> |
| 48 | #include <asm/switch_to.h> | ||
| 48 | #include <linux/gfp.h> | 49 | #include <linux/gfp.h> |
| 49 | #include <linux/vmalloc.h> | 50 | #include <linux/vmalloc.h> |
| 50 | #include <linux/highmem.h> | 51 | #include <linux/highmem.h> |
diff --git a/arch/powerpc/lib/alloc.c b/arch/powerpc/lib/alloc.c index 13b676c20d12..da22c84a8fed 100644 --- a/arch/powerpc/lib/alloc.c +++ b/arch/powerpc/lib/alloc.c | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | #include <linux/slab.h> | 3 | #include <linux/slab.h> |
| 4 | #include <linux/bootmem.h> | 4 | #include <linux/bootmem.h> |
| 5 | #include <linux/string.h> | 5 | #include <linux/string.h> |
| 6 | #include <asm/setup.h> | ||
| 6 | 7 | ||
| 7 | #include <asm/system.h> | ||
| 8 | 8 | ||
| 9 | void * __init_refok zalloc_maybe_bootmem(size_t size, gfp_t mask) | 9 | void * __init_refok zalloc_maybe_bootmem(size_t size, gfp_t mask) |
| 10 | { | 10 | { |
diff --git a/arch/powerpc/lib/copyuser_power7_vmx.c b/arch/powerpc/lib/copyuser_power7_vmx.c index 6e1efadac48b..bf2654f2b68e 100644 --- a/arch/powerpc/lib/copyuser_power7_vmx.c +++ b/arch/powerpc/lib/copyuser_power7_vmx.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | */ | 20 | */ |
| 21 | #include <linux/uaccess.h> | 21 | #include <linux/uaccess.h> |
| 22 | #include <linux/hardirq.h> | 22 | #include <linux/hardirq.h> |
| 23 | #include <asm/switch_to.h> | ||
| 23 | 24 | ||
| 24 | int enter_vmx_copy(void) | 25 | int enter_vmx_copy(void) |
| 25 | { | 26 | { |
diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c index 388b95e1a009..2c9441ee6bb8 100644 --- a/arch/powerpc/mm/44x_mmu.c +++ b/arch/powerpc/mm/44x_mmu.c | |||
| @@ -27,7 +27,6 @@ | |||
| 27 | #include <linux/memblock.h> | 27 | #include <linux/memblock.h> |
| 28 | 28 | ||
| 29 | #include <asm/mmu.h> | 29 | #include <asm/mmu.h> |
| 30 | #include <asm/system.h> | ||
| 31 | #include <asm/page.h> | 30 | #include <asm/page.h> |
| 32 | #include <asm/cacheflush.h> | 31 | #include <asm/cacheflush.h> |
| 33 | 32 | ||
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 19f2f9498b27..08ffcf52a856 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
| @@ -38,10 +38,10 @@ | |||
| 38 | #include <asm/pgtable.h> | 38 | #include <asm/pgtable.h> |
| 39 | #include <asm/mmu.h> | 39 | #include <asm/mmu.h> |
| 40 | #include <asm/mmu_context.h> | 40 | #include <asm/mmu_context.h> |
| 41 | #include <asm/system.h> | ||
| 42 | #include <asm/uaccess.h> | 41 | #include <asm/uaccess.h> |
| 43 | #include <asm/tlbflush.h> | 42 | #include <asm/tlbflush.h> |
| 44 | #include <asm/siginfo.h> | 43 | #include <asm/siginfo.h> |
| 44 | #include <asm/debug.h> | ||
| 45 | #include <mm/mmu_decl.h> | 45 | #include <mm/mmu_decl.h> |
| 46 | 46 | ||
| 47 | #include "icswx.h" | 47 | #include "icswx.h" |
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 3e8c37a4e395..377e5cbedbbb 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
| @@ -40,7 +40,6 @@ | |||
| 40 | #include <asm/mmu_context.h> | 40 | #include <asm/mmu_context.h> |
| 41 | #include <asm/page.h> | 41 | #include <asm/page.h> |
| 42 | #include <asm/types.h> | 42 | #include <asm/types.h> |
| 43 | #include <asm/system.h> | ||
| 44 | #include <asm/uaccess.h> | 43 | #include <asm/uaccess.h> |
| 45 | #include <asm/machdep.h> | 44 | #include <asm/machdep.h> |
| 46 | #include <asm/prom.h> | 45 | #include <asm/prom.h> |
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c index 6157be2a7049..01e2db97a210 100644 --- a/arch/powerpc/mm/init_32.c +++ b/arch/powerpc/mm/init_32.c | |||
| @@ -45,7 +45,6 @@ | |||
| 45 | #include <asm/btext.h> | 45 | #include <asm/btext.h> |
| 46 | #include <asm/tlb.h> | 46 | #include <asm/tlb.h> |
| 47 | #include <asm/sections.h> | 47 | #include <asm/sections.h> |
| 48 | #include <asm/system.h> | ||
| 49 | #include <asm/hugetlb.h> | 48 | #include <asm/hugetlb.h> |
| 50 | 49 | ||
| 51 | #include "mmu_decl.h" | 50 | #include "mmu_decl.h" |
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index e94b57fb79a0..620b7acd2fdf 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
| @@ -61,7 +61,6 @@ | |||
| 61 | #include <asm/mmzone.h> | 61 | #include <asm/mmzone.h> |
| 62 | #include <asm/cputable.h> | 62 | #include <asm/cputable.h> |
| 63 | #include <asm/sections.h> | 63 | #include <asm/sections.h> |
| 64 | #include <asm/system.h> | ||
| 65 | #include <asm/iommu.h> | 64 | #include <asm/iommu.h> |
| 66 | #include <asm/abs_addr.h> | 65 | #include <asm/abs_addr.h> |
| 67 | #include <asm/vdso.h> | 66 | #include <asm/vdso.h> |
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 3feefc3842a8..b6edbb3b4a54 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
| @@ -24,11 +24,11 @@ | |||
| 24 | #include <linux/node.h> | 24 | #include <linux/node.h> |
| 25 | #include <asm/sparsemem.h> | 25 | #include <asm/sparsemem.h> |
| 26 | #include <asm/prom.h> | 26 | #include <asm/prom.h> |
| 27 | #include <asm/system.h> | ||
| 28 | #include <asm/smp.h> | 27 | #include <asm/smp.h> |
| 29 | #include <asm/firmware.h> | 28 | #include <asm/firmware.h> |
| 30 | #include <asm/paca.h> | 29 | #include <asm/paca.h> |
| 31 | #include <asm/hvcall.h> | 30 | #include <asm/hvcall.h> |
| 31 | #include <asm/setup.h> | ||
| 32 | 32 | ||
| 33 | static int numa_enabled = 1; | 33 | static int numa_enabled = 1; |
| 34 | 34 | ||
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index 0907f92ce309..6c856fb8c15b 100644 --- a/arch/powerpc/mm/pgtable_32.c +++ b/arch/powerpc/mm/pgtable_32.c | |||
| @@ -33,6 +33,7 @@ | |||
| 33 | #include <asm/pgalloc.h> | 33 | #include <asm/pgalloc.h> |
| 34 | #include <asm/fixmap.h> | 34 | #include <asm/fixmap.h> |
| 35 | #include <asm/io.h> | 35 | #include <asm/io.h> |
| 36 | #include <asm/setup.h> | ||
| 36 | 37 | ||
| 37 | #include "mmu_decl.h" | 38 | #include "mmu_decl.h" |
| 38 | 39 | ||
diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c index ad36ede469cc..249a0631c4db 100644 --- a/arch/powerpc/mm/pgtable_64.c +++ b/arch/powerpc/mm/pgtable_64.c | |||
| @@ -51,7 +51,6 @@ | |||
| 51 | #include <asm/processor.h> | 51 | #include <asm/processor.h> |
| 52 | #include <asm/cputable.h> | 52 | #include <asm/cputable.h> |
| 53 | #include <asm/sections.h> | 53 | #include <asm/sections.h> |
| 54 | #include <asm/system.h> | ||
| 55 | #include <asm/abs_addr.h> | 54 | #include <asm/abs_addr.h> |
| 56 | #include <asm/firmware.h> | 55 | #include <asm/firmware.h> |
| 57 | 56 | ||
diff --git a/arch/powerpc/oprofile/common.c b/arch/powerpc/oprofile/common.c index 6f01624f317f..4f51025f5b00 100644 --- a/arch/powerpc/oprofile/common.c +++ b/arch/powerpc/oprofile/common.c | |||
| @@ -18,7 +18,6 @@ | |||
| 18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
| 19 | #include <linux/errno.h> | 19 | #include <linux/errno.h> |
| 20 | #include <asm/ptrace.h> | 20 | #include <asm/ptrace.h> |
| 21 | #include <asm/system.h> | ||
| 22 | #include <asm/pmc.h> | 21 | #include <asm/pmc.h> |
| 23 | #include <asm/cputable.h> | 22 | #include <asm/cputable.h> |
| 24 | #include <asm/oprofile_impl.h> | 23 | #include <asm/oprofile_impl.h> |
diff --git a/arch/powerpc/oprofile/op_model_7450.c b/arch/powerpc/oprofile/op_model_7450.c index f8d36f940e88..ff617246d128 100644 --- a/arch/powerpc/oprofile/op_model_7450.c +++ b/arch/powerpc/oprofile/op_model_7450.c | |||
| @@ -19,7 +19,6 @@ | |||
| 19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
| 20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
| 21 | #include <asm/ptrace.h> | 21 | #include <asm/ptrace.h> |
| 22 | #include <asm/system.h> | ||
| 23 | #include <asm/processor.h> | 22 | #include <asm/processor.h> |
| 24 | #include <asm/cputable.h> | 23 | #include <asm/cputable.h> |
| 25 | #include <asm/page.h> | 24 | #include <asm/page.h> |
diff --git a/arch/powerpc/oprofile/op_model_cell.c b/arch/powerpc/oprofile/op_model_cell.c index cb515cff745c..b9589c19ccda 100644 --- a/arch/powerpc/oprofile/op_model_cell.c +++ b/arch/powerpc/oprofile/op_model_cell.c | |||
| @@ -34,7 +34,6 @@ | |||
| 34 | #include <asm/ptrace.h> | 34 | #include <asm/ptrace.h> |
| 35 | #include <asm/reg.h> | 35 | #include <asm/reg.h> |
| 36 | #include <asm/rtas.h> | 36 | #include <asm/rtas.h> |
| 37 | #include <asm/system.h> | ||
| 38 | #include <asm/cell-regs.h> | 37 | #include <asm/cell-regs.h> |
| 39 | 38 | ||
| 40 | #include "../platforms/cell/interrupt.h" | 39 | #include "../platforms/cell/interrupt.h" |
diff --git a/arch/powerpc/oprofile/op_model_fsl_emb.c b/arch/powerpc/oprofile/op_model_fsl_emb.c index d4e6507277b5..ccc1daa33aed 100644 --- a/arch/powerpc/oprofile/op_model_fsl_emb.c +++ b/arch/powerpc/oprofile/op_model_fsl_emb.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
| 18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
| 19 | #include <asm/ptrace.h> | 19 | #include <asm/ptrace.h> |
| 20 | #include <asm/system.h> | ||
| 21 | #include <asm/processor.h> | 20 | #include <asm/processor.h> |
| 22 | #include <asm/cputable.h> | 21 | #include <asm/cputable.h> |
| 23 | #include <asm/reg_fsl_emb.h> | 22 | #include <asm/reg_fsl_emb.h> |
diff --git a/arch/powerpc/oprofile/op_model_power4.c b/arch/powerpc/oprofile/op_model_power4.c index e6bec74be131..95ae77dec3f6 100644 --- a/arch/powerpc/oprofile/op_model_power4.c +++ b/arch/powerpc/oprofile/op_model_power4.c | |||
| @@ -14,7 +14,6 @@ | |||
| 14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
| 15 | #include <asm/firmware.h> | 15 | #include <asm/firmware.h> |
| 16 | #include <asm/ptrace.h> | 16 | #include <asm/ptrace.h> |
| 17 | #include <asm/system.h> | ||
| 18 | #include <asm/processor.h> | 17 | #include <asm/processor.h> |
| 19 | #include <asm/cputable.h> | 18 | #include <asm/cputable.h> |
| 20 | #include <asm/rtas.h> | 19 | #include <asm/rtas.h> |
diff --git a/arch/powerpc/oprofile/op_model_rs64.c b/arch/powerpc/oprofile/op_model_rs64.c index a20afe45d936..9b801b8c8c5a 100644 --- a/arch/powerpc/oprofile/op_model_rs64.c +++ b/arch/powerpc/oprofile/op_model_rs64.c | |||
| @@ -11,7 +11,6 @@ | |||
| 11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
| 12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
| 13 | #include <asm/ptrace.h> | 13 | #include <asm/ptrace.h> |
| 14 | #include <asm/system.h> | ||
| 15 | #include <asm/processor.h> | 14 | #include <asm/processor.h> |
| 16 | #include <asm/cputable.h> | 15 | #include <asm/cputable.h> |
| 17 | #include <asm/oprofile_impl.h> | 16 | #include <asm/oprofile_impl.h> |
diff --git a/arch/powerpc/platforms/52xx/lite5200_pm.c b/arch/powerpc/platforms/52xx/lite5200_pm.c index eda0fc2a3914..870b70f5d1bd 100644 --- a/arch/powerpc/platforms/52xx/lite5200_pm.c +++ b/arch/powerpc/platforms/52xx/lite5200_pm.c | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | #include <asm/io.h> | 3 | #include <asm/io.h> |
| 4 | #include <asm/time.h> | 4 | #include <asm/time.h> |
| 5 | #include <asm/mpc52xx.h> | 5 | #include <asm/mpc52xx.h> |
| 6 | #include <asm/switch_to.h> | ||
| 6 | 7 | ||
| 7 | /* defined in lite5200_sleep.S and only used here */ | 8 | /* defined in lite5200_sleep.S and only used here */ |
| 8 | extern void lite5200_low_power(void __iomem *sram, void __iomem *mbar); | 9 | extern void lite5200_low_power(void __iomem *sram, void __iomem *mbar); |
diff --git a/arch/powerpc/platforms/82xx/pq2.c b/arch/powerpc/platforms/82xx/pq2.c index d111b024eafd..fb94d10e5a4d 100644 --- a/arch/powerpc/platforms/82xx/pq2.c +++ b/arch/powerpc/platforms/82xx/pq2.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <asm/cpm2.h> | 17 | #include <asm/cpm2.h> |
| 18 | #include <asm/io.h> | 18 | #include <asm/io.h> |
| 19 | #include <asm/pci-bridge.h> | 19 | #include <asm/pci-bridge.h> |
| 20 | #include <asm/system.h> | ||
| 21 | 20 | ||
| 22 | #include <platforms/82xx/pq2.h> | 21 | #include <platforms/82xx/pq2.h> |
| 23 | 22 | ||
diff --git a/arch/powerpc/platforms/83xx/km83xx.c b/arch/powerpc/platforms/83xx/km83xx.c index 65eb792a0d00..a266ba876863 100644 --- a/arch/powerpc/platforms/83xx/km83xx.c +++ b/arch/powerpc/platforms/83xx/km83xx.c | |||
| @@ -27,7 +27,6 @@ | |||
| 27 | #include <linux/of_platform.h> | 27 | #include <linux/of_platform.h> |
| 28 | #include <linux/of_device.h> | 28 | #include <linux/of_device.h> |
| 29 | 29 | ||
| 30 | #include <asm/system.h> | ||
| 31 | #include <linux/atomic.h> | 30 | #include <linux/atomic.h> |
| 32 | #include <asm/time.h> | 31 | #include <asm/time.h> |
| 33 | #include <asm/io.h> | 32 | #include <asm/io.h> |
diff --git a/arch/powerpc/platforms/83xx/mpc832x_mds.c b/arch/powerpc/platforms/83xx/mpc832x_mds.c index e36bc611dd6e..d440435e055c 100644 --- a/arch/powerpc/platforms/83xx/mpc832x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc832x_mds.c | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | #include <linux/of_platform.h> | 26 | #include <linux/of_platform.h> |
| 27 | #include <linux/of_device.h> | 27 | #include <linux/of_device.h> |
| 28 | 28 | ||
| 29 | #include <asm/system.h> | ||
| 30 | #include <linux/atomic.h> | 29 | #include <linux/atomic.h> |
| 31 | #include <asm/time.h> | 30 | #include <asm/time.h> |
| 32 | #include <asm/io.h> | 31 | #include <asm/io.h> |
diff --git a/arch/powerpc/platforms/83xx/mpc834x_itx.c b/arch/powerpc/platforms/83xx/mpc834x_itx.c index 39849dd1b5bb..a494fa57bdf9 100644 --- a/arch/powerpc/platforms/83xx/mpc834x_itx.c +++ b/arch/powerpc/platforms/83xx/mpc834x_itx.c | |||
| @@ -25,7 +25,6 @@ | |||
| 25 | #include <linux/root_dev.h> | 25 | #include <linux/root_dev.h> |
| 26 | #include <linux/of_platform.h> | 26 | #include <linux/of_platform.h> |
| 27 | 27 | ||
| 28 | #include <asm/system.h> | ||
| 29 | #include <linux/atomic.h> | 28 | #include <linux/atomic.h> |
| 30 | #include <asm/time.h> | 29 | #include <asm/time.h> |
| 31 | #include <asm/io.h> | 30 | #include <asm/io.h> |
diff --git a/arch/powerpc/platforms/83xx/mpc834x_mds.c b/arch/powerpc/platforms/83xx/mpc834x_mds.c index 5828d8e97c37..553e793a4a93 100644 --- a/arch/powerpc/platforms/83xx/mpc834x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc834x_mds.c | |||
| @@ -25,7 +25,6 @@ | |||
| 25 | #include <linux/root_dev.h> | 25 | #include <linux/root_dev.h> |
| 26 | #include <linux/of_platform.h> | 26 | #include <linux/of_platform.h> |
| 27 | 27 | ||
| 28 | #include <asm/system.h> | ||
| 29 | #include <linux/atomic.h> | 28 | #include <linux/atomic.h> |
| 30 | #include <asm/time.h> | 29 | #include <asm/time.h> |
| 31 | #include <asm/io.h> | 30 | #include <asm/io.h> |
diff --git a/arch/powerpc/platforms/83xx/mpc836x_mds.c b/arch/powerpc/platforms/83xx/mpc836x_mds.c index ad8e4bcd7d55..1b1f6c8a1a12 100644 --- a/arch/powerpc/platforms/83xx/mpc836x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc836x_mds.c | |||
| @@ -33,7 +33,6 @@ | |||
| 33 | #include <linux/of_platform.h> | 33 | #include <linux/of_platform.h> |
| 34 | #include <linux/of_device.h> | 34 | #include <linux/of_device.h> |
| 35 | 35 | ||
| 36 | #include <asm/system.h> | ||
| 37 | #include <linux/atomic.h> | 36 | #include <linux/atomic.h> |
| 38 | #include <asm/time.h> | 37 | #include <asm/time.h> |
| 39 | #include <asm/io.h> | 38 | #include <asm/io.h> |
diff --git a/arch/powerpc/platforms/83xx/sbc834x.c b/arch/powerpc/platforms/83xx/sbc834x.c index 8a81d7640b1f..26cb3e934722 100644 --- a/arch/powerpc/platforms/83xx/sbc834x.c +++ b/arch/powerpc/platforms/83xx/sbc834x.c | |||
| @@ -27,7 +27,6 @@ | |||
| 27 | #include <linux/root_dev.h> | 27 | #include <linux/root_dev.h> |
| 28 | #include <linux/of_platform.h> | 28 | #include <linux/of_platform.h> |
| 29 | 29 | ||
| 30 | #include <asm/system.h> | ||
| 31 | #include <linux/atomic.h> | 30 | #include <linux/atomic.h> |
| 32 | #include <asm/time.h> | 31 | #include <asm/time.h> |
| 33 | #include <asm/io.h> | 32 | #include <asm/io.h> |
diff --git a/arch/powerpc/platforms/83xx/suspend.c b/arch/powerpc/platforms/83xx/suspend.c index edf66870d978..1a046715e461 100644 --- a/arch/powerpc/platforms/83xx/suspend.c +++ b/arch/powerpc/platforms/83xx/suspend.c | |||
| @@ -27,6 +27,7 @@ | |||
| 27 | #include <asm/io.h> | 27 | #include <asm/io.h> |
| 28 | #include <asm/time.h> | 28 | #include <asm/time.h> |
| 29 | #include <asm/mpc6xx.h> | 29 | #include <asm/mpc6xx.h> |
| 30 | #include <asm/switch_to.h> | ||
| 30 | 31 | ||
| 31 | #include <sysdev/fsl_soc.h> | 32 | #include <sysdev/fsl_soc.h> |
| 32 | 33 | ||
diff --git a/arch/powerpc/platforms/85xx/corenet_ds.c b/arch/powerpc/platforms/85xx/corenet_ds.c index df69e99e511c..dd3617c531d7 100644 --- a/arch/powerpc/platforms/85xx/corenet_ds.c +++ b/arch/powerpc/platforms/85xx/corenet_ds.c | |||
| @@ -18,7 +18,6 @@ | |||
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 19 | #include <linux/memblock.h> | 19 | #include <linux/memblock.h> |
| 20 | 20 | ||
| 21 | #include <asm/system.h> | ||
| 22 | #include <asm/time.h> | 21 | #include <asm/time.h> |
| 23 | #include <asm/machdep.h> | 22 | #include <asm/machdep.h> |
| 24 | #include <asm/pci-bridge.h> | 23 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/ge_imp3a.c b/arch/powerpc/platforms/85xx/ge_imp3a.c index d50056f424f6..18014629416d 100644 --- a/arch/powerpc/platforms/85xx/ge_imp3a.c +++ b/arch/powerpc/platforms/85xx/ge_imp3a.c | |||
| @@ -24,7 +24,6 @@ | |||
| 24 | #include <linux/of_platform.h> | 24 | #include <linux/of_platform.h> |
| 25 | #include <linux/memblock.h> | 25 | #include <linux/memblock.h> |
| 26 | 26 | ||
| 27 | #include <asm/system.h> | ||
| 28 | #include <asm/time.h> | 27 | #include <asm/time.h> |
| 29 | #include <asm/machdep.h> | 28 | #include <asm/machdep.h> |
| 30 | #include <asm/pci-bridge.h> | 29 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/ksi8560.c b/arch/powerpc/platforms/85xx/ksi8560.c index 60120e55da41..3dc1bda3ddc3 100644 --- a/arch/powerpc/platforms/85xx/ksi8560.c +++ b/arch/powerpc/platforms/85xx/ksi8560.c | |||
| @@ -20,7 +20,6 @@ | |||
| 20 | #include <linux/seq_file.h> | 20 | #include <linux/seq_file.h> |
| 21 | #include <linux/of_platform.h> | 21 | #include <linux/of_platform.h> |
| 22 | 22 | ||
| 23 | #include <asm/system.h> | ||
| 24 | #include <asm/time.h> | 23 | #include <asm/time.h> |
| 25 | #include <asm/machdep.h> | 24 | #include <asm/machdep.h> |
| 26 | #include <asm/pci-bridge.h> | 25 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/mpc8536_ds.c b/arch/powerpc/platforms/85xx/mpc8536_ds.c index f58872688d8f..585bd22b1406 100644 --- a/arch/powerpc/platforms/85xx/mpc8536_ds.c +++ b/arch/powerpc/platforms/85xx/mpc8536_ds.c | |||
| @@ -19,7 +19,6 @@ | |||
| 19 | #include <linux/of_platform.h> | 19 | #include <linux/of_platform.h> |
| 20 | #include <linux/memblock.h> | 20 | #include <linux/memblock.h> |
| 21 | 21 | ||
| 22 | #include <asm/system.h> | ||
| 23 | #include <asm/time.h> | 22 | #include <asm/time.h> |
| 24 | #include <asm/machdep.h> | 23 | #include <asm/machdep.h> |
| 25 | #include <asm/pci-bridge.h> | 24 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ads.c b/arch/powerpc/platforms/85xx/mpc85xx_ads.c index d19f675cb369..29ee8fcd75a2 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ads.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ads.c | |||
| @@ -19,7 +19,6 @@ | |||
| 19 | #include <linux/seq_file.h> | 19 | #include <linux/seq_file.h> |
| 20 | #include <linux/of_platform.h> | 20 | #include <linux/of_platform.h> |
| 21 | 21 | ||
| 22 | #include <asm/system.h> | ||
| 23 | #include <asm/time.h> | 22 | #include <asm/time.h> |
| 24 | #include <asm/machdep.h> | 23 | #include <asm/machdep.h> |
| 25 | #include <asm/pci-bridge.h> | 24 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_cds.c b/arch/powerpc/platforms/85xx/mpc85xx_cds.c index ab5f0bf19454..11156fb53d83 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c | |||
| @@ -27,7 +27,6 @@ | |||
| 27 | #include <linux/fsl_devices.h> | 27 | #include <linux/fsl_devices.h> |
| 28 | #include <linux/of_platform.h> | 28 | #include <linux/of_platform.h> |
| 29 | 29 | ||
| 30 | #include <asm/system.h> | ||
| 31 | #include <asm/pgtable.h> | 30 | #include <asm/pgtable.h> |
| 32 | #include <asm/page.h> | 31 | #include <asm/page.h> |
| 33 | #include <linux/atomic.h> | 32 | #include <linux/atomic.h> |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c index 6e23e3e34bd9..1fd91e9e0ffb 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c | |||
| @@ -22,7 +22,6 @@ | |||
| 22 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
| 23 | #include <linux/memblock.h> | 23 | #include <linux/memblock.h> |
| 24 | 24 | ||
| 25 | #include <asm/system.h> | ||
| 26 | #include <asm/time.h> | 25 | #include <asm/time.h> |
| 27 | #include <asm/machdep.h> | 26 | #include <asm/machdep.h> |
| 28 | #include <asm/pci-bridge.h> | 27 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c index f33662b46b8d..3754ddc00af7 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c | |||
| @@ -35,7 +35,6 @@ | |||
| 35 | #include <linux/phy.h> | 35 | #include <linux/phy.h> |
| 36 | #include <linux/memblock.h> | 36 | #include <linux/memblock.h> |
| 37 | 37 | ||
| 38 | #include <asm/system.h> | ||
| 39 | #include <linux/atomic.h> | 38 | #include <linux/atomic.h> |
| 40 | #include <asm/time.h> | 39 | #include <asm/time.h> |
| 41 | #include <asm/io.h> | 40 | #include <asm/io.h> |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c index db214cd4c822..9848f9e39853 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c | |||
| @@ -18,7 +18,6 @@ | |||
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 19 | #include <linux/of_platform.h> | 19 | #include <linux/of_platform.h> |
| 20 | 20 | ||
| 21 | #include <asm/system.h> | ||
| 22 | #include <asm/time.h> | 21 | #include <asm/time.h> |
| 23 | #include <asm/machdep.h> | 22 | #include <asm/machdep.h> |
| 24 | #include <asm/pci-bridge.h> | 23 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/p1010rdb.c b/arch/powerpc/platforms/85xx/p1010rdb.c index d8bd6563d9ca..dbaf44354f0d 100644 --- a/arch/powerpc/platforms/85xx/p1010rdb.c +++ b/arch/powerpc/platforms/85xx/p1010rdb.c | |||
| @@ -16,7 +16,6 @@ | |||
| 16 | #include <linux/interrupt.h> | 16 | #include <linux/interrupt.h> |
| 17 | #include <linux/of_platform.h> | 17 | #include <linux/of_platform.h> |
| 18 | 18 | ||
| 19 | #include <asm/system.h> | ||
| 20 | #include <asm/time.h> | 19 | #include <asm/time.h> |
| 21 | #include <asm/machdep.h> | 20 | #include <asm/machdep.h> |
| 22 | #include <asm/pci-bridge.h> | 21 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/p1023_rds.c b/arch/powerpc/platforms/85xx/p1023_rds.c index 6b07398e4369..2990e8b13dc9 100644 --- a/arch/powerpc/platforms/85xx/p1023_rds.c +++ b/arch/powerpc/platforms/85xx/p1023_rds.c | |||
| @@ -22,7 +22,6 @@ | |||
| 22 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
| 23 | #include <linux/of_device.h> | 23 | #include <linux/of_device.h> |
| 24 | 24 | ||
| 25 | #include <asm/system.h> | ||
| 26 | #include <asm/time.h> | 25 | #include <asm/time.h> |
| 27 | #include <asm/machdep.h> | 26 | #include <asm/machdep.h> |
| 28 | #include <asm/pci-bridge.h> | 27 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/p2041_rdb.c b/arch/powerpc/platforms/85xx/p2041_rdb.c index eda6ed5683e1..6541fa2630c0 100644 --- a/arch/powerpc/platforms/85xx/p2041_rdb.c +++ b/arch/powerpc/platforms/85xx/p2041_rdb.c | |||
| @@ -16,7 +16,6 @@ | |||
| 16 | #include <linux/interrupt.h> | 16 | #include <linux/interrupt.h> |
| 17 | #include <linux/phy.h> | 17 | #include <linux/phy.h> |
| 18 | 18 | ||
| 19 | #include <asm/system.h> | ||
| 20 | #include <asm/time.h> | 19 | #include <asm/time.h> |
| 21 | #include <asm/machdep.h> | 20 | #include <asm/machdep.h> |
| 22 | #include <asm/pci-bridge.h> | 21 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/p3041_ds.c b/arch/powerpc/platforms/85xx/p3041_ds.c index 96d99a374dcf..f238efa75891 100644 --- a/arch/powerpc/platforms/85xx/p3041_ds.c +++ b/arch/powerpc/platforms/85xx/p3041_ds.c | |||
| @@ -18,7 +18,6 @@ | |||
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 19 | #include <linux/phy.h> | 19 | #include <linux/phy.h> |
| 20 | 20 | ||
| 21 | #include <asm/system.h> | ||
| 22 | #include <asm/time.h> | 21 | #include <asm/time.h> |
| 23 | #include <asm/machdep.h> | 22 | #include <asm/machdep.h> |
| 24 | #include <asm/pci-bridge.h> | 23 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/p4080_ds.c b/arch/powerpc/platforms/85xx/p4080_ds.c index d1b21d7663e3..c92417dc6574 100644 --- a/arch/powerpc/platforms/85xx/p4080_ds.c +++ b/arch/powerpc/platforms/85xx/p4080_ds.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 19 | 19 | ||
| 20 | #include <asm/system.h> | ||
| 21 | #include <asm/time.h> | 20 | #include <asm/time.h> |
| 22 | #include <asm/machdep.h> | 21 | #include <asm/machdep.h> |
| 23 | #include <asm/pci-bridge.h> | 22 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/p5020_ds.c b/arch/powerpc/platforms/85xx/p5020_ds.c index e8cba5004fd8..17bef15a85ed 100644 --- a/arch/powerpc/platforms/85xx/p5020_ds.c +++ b/arch/powerpc/platforms/85xx/p5020_ds.c | |||
| @@ -18,7 +18,6 @@ | |||
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 19 | #include <linux/phy.h> | 19 | #include <linux/phy.h> |
| 20 | 20 | ||
| 21 | #include <asm/system.h> | ||
| 22 | #include <asm/time.h> | 21 | #include <asm/time.h> |
| 23 | #include <asm/machdep.h> | 22 | #include <asm/machdep.h> |
| 24 | #include <asm/pci-bridge.h> | 23 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/sbc8548.c b/arch/powerpc/platforms/85xx/sbc8548.c index 1677b8a22677..cd3a66bdb54b 100644 --- a/arch/powerpc/platforms/85xx/sbc8548.c +++ b/arch/powerpc/platforms/85xx/sbc8548.c | |||
| @@ -30,7 +30,6 @@ | |||
| 30 | #include <linux/fsl_devices.h> | 30 | #include <linux/fsl_devices.h> |
| 31 | #include <linux/of_platform.h> | 31 | #include <linux/of_platform.h> |
| 32 | 32 | ||
| 33 | #include <asm/system.h> | ||
| 34 | #include <asm/pgtable.h> | 33 | #include <asm/pgtable.h> |
| 35 | #include <asm/page.h> | 34 | #include <asm/page.h> |
| 36 | #include <linux/atomic.h> | 35 | #include <linux/atomic.h> |
diff --git a/arch/powerpc/platforms/85xx/sbc8560.c b/arch/powerpc/platforms/85xx/sbc8560.c index 3c3bbcc27566..b1be632ede43 100644 --- a/arch/powerpc/platforms/85xx/sbc8560.c +++ b/arch/powerpc/platforms/85xx/sbc8560.c | |||
| @@ -21,7 +21,6 @@ | |||
| 21 | #include <linux/seq_file.h> | 21 | #include <linux/seq_file.h> |
| 22 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
| 23 | 23 | ||
| 24 | #include <asm/system.h> | ||
| 25 | #include <asm/time.h> | 24 | #include <asm/time.h> |
| 26 | #include <asm/machdep.h> | 25 | #include <asm/machdep.h> |
| 27 | #include <asm/pci-bridge.h> | 26 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/socrates.c b/arch/powerpc/platforms/85xx/socrates.c index b71919217756..b9c6daa07b66 100644 --- a/arch/powerpc/platforms/85xx/socrates.c +++ b/arch/powerpc/platforms/85xx/socrates.c | |||
| @@ -29,7 +29,6 @@ | |||
| 29 | #include <linux/seq_file.h> | 29 | #include <linux/seq_file.h> |
| 30 | #include <linux/of_platform.h> | 30 | #include <linux/of_platform.h> |
| 31 | 31 | ||
| 32 | #include <asm/system.h> | ||
| 33 | #include <asm/time.h> | 32 | #include <asm/time.h> |
| 34 | #include <asm/machdep.h> | 33 | #include <asm/machdep.h> |
| 35 | #include <asm/pci-bridge.h> | 34 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/stx_gp3.c b/arch/powerpc/platforms/85xx/stx_gp3.c index 27ca3a7b04ab..e0508002b086 100644 --- a/arch/powerpc/platforms/85xx/stx_gp3.c +++ b/arch/powerpc/platforms/85xx/stx_gp3.c | |||
| @@ -28,7 +28,6 @@ | |||
| 28 | #include <linux/seq_file.h> | 28 | #include <linux/seq_file.h> |
| 29 | #include <linux/of_platform.h> | 29 | #include <linux/of_platform.h> |
| 30 | 30 | ||
| 31 | #include <asm/system.h> | ||
| 32 | #include <asm/time.h> | 31 | #include <asm/time.h> |
| 33 | #include <asm/machdep.h> | 32 | #include <asm/machdep.h> |
| 34 | #include <asm/pci-bridge.h> | 33 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/tqm85xx.c b/arch/powerpc/platforms/85xx/tqm85xx.c index d7504cefe016..4d786c25d3e5 100644 --- a/arch/powerpc/platforms/85xx/tqm85xx.c +++ b/arch/powerpc/platforms/85xx/tqm85xx.c | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | #include <linux/seq_file.h> | 26 | #include <linux/seq_file.h> |
| 27 | #include <linux/of_platform.h> | 27 | #include <linux/of_platform.h> |
| 28 | 28 | ||
| 29 | #include <asm/system.h> | ||
| 30 | #include <asm/time.h> | 29 | #include <asm/time.h> |
| 31 | #include <asm/machdep.h> | 30 | #include <asm/machdep.h> |
| 32 | #include <asm/pci-bridge.h> | 31 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/85xx/xes_mpc85xx.c b/arch/powerpc/platforms/85xx/xes_mpc85xx.c index 503c21596c63..41c687550ea7 100644 --- a/arch/powerpc/platforms/85xx/xes_mpc85xx.c +++ b/arch/powerpc/platforms/85xx/xes_mpc85xx.c | |||
| @@ -21,7 +21,6 @@ | |||
| 21 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
| 22 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
| 23 | 23 | ||
| 24 | #include <asm/system.h> | ||
| 25 | #include <asm/time.h> | 24 | #include <asm/time.h> |
| 26 | #include <asm/machdep.h> | 25 | #include <asm/machdep.h> |
| 27 | #include <asm/pci-bridge.h> | 26 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/86xx/gef_ppc9a.c b/arch/powerpc/platforms/86xx/gef_ppc9a.c index ed58b6cfd60c..1fca663f1b25 100644 --- a/arch/powerpc/platforms/86xx/gef_ppc9a.c +++ b/arch/powerpc/platforms/86xx/gef_ppc9a.c | |||
| @@ -24,7 +24,6 @@ | |||
| 24 | #include <linux/seq_file.h> | 24 | #include <linux/seq_file.h> |
| 25 | #include <linux/of_platform.h> | 25 | #include <linux/of_platform.h> |
| 26 | 26 | ||
| 27 | #include <asm/system.h> | ||
| 28 | #include <asm/time.h> | 27 | #include <asm/time.h> |
| 29 | #include <asm/machdep.h> | 28 | #include <asm/machdep.h> |
| 30 | #include <asm/pci-bridge.h> | 29 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/86xx/gef_sbc310.c b/arch/powerpc/platforms/86xx/gef_sbc310.c index 710db69bd523..14e0e576bcbd 100644 --- a/arch/powerpc/platforms/86xx/gef_sbc310.c +++ b/arch/powerpc/platforms/86xx/gef_sbc310.c | |||
| @@ -24,7 +24,6 @@ | |||
| 24 | #include <linux/seq_file.h> | 24 | #include <linux/seq_file.h> |
| 25 | #include <linux/of_platform.h> | 25 | #include <linux/of_platform.h> |
| 26 | 26 | ||
| 27 | #include <asm/system.h> | ||
| 28 | #include <asm/time.h> | 27 | #include <asm/time.h> |
| 29 | #include <asm/machdep.h> | 28 | #include <asm/machdep.h> |
| 30 | #include <asm/pci-bridge.h> | 29 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/86xx/gef_sbc610.c b/arch/powerpc/platforms/86xx/gef_sbc610.c index 4a13d2f4ac20..1638f43599f0 100644 --- a/arch/powerpc/platforms/86xx/gef_sbc610.c +++ b/arch/powerpc/platforms/86xx/gef_sbc610.c | |||
| @@ -24,7 +24,6 @@ | |||
| 24 | #include <linux/seq_file.h> | 24 | #include <linux/seq_file.h> |
| 25 | #include <linux/of_platform.h> | 25 | #include <linux/of_platform.h> |
| 26 | 26 | ||
| 27 | #include <asm/system.h> | ||
| 28 | #include <asm/time.h> | 27 | #include <asm/time.h> |
| 29 | #include <asm/machdep.h> | 28 | #include <asm/machdep.h> |
| 30 | #include <asm/pci-bridge.h> | 29 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c index 13fa9a6403e6..bbc615206c67 100644 --- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c +++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c | |||
| @@ -25,7 +25,6 @@ | |||
| 25 | #include <linux/seq_file.h> | 25 | #include <linux/seq_file.h> |
| 26 | #include <linux/of.h> | 26 | #include <linux/of.h> |
| 27 | 27 | ||
| 28 | #include <asm/system.h> | ||
| 29 | #include <asm/time.h> | 28 | #include <asm/time.h> |
| 30 | #include <asm/machdep.h> | 29 | #include <asm/machdep.h> |
| 31 | #include <asm/pci-bridge.h> | 30 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c index 569262ca499a..3755e61d7ecf 100644 --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | |||
| @@ -21,7 +21,6 @@ | |||
| 21 | #include <linux/of_platform.h> | 21 | #include <linux/of_platform.h> |
| 22 | #include <linux/memblock.h> | 22 | #include <linux/memblock.h> |
| 23 | 23 | ||
| 24 | #include <asm/system.h> | ||
| 25 | #include <asm/time.h> | 24 | #include <asm/time.h> |
| 26 | #include <asm/machdep.h> | 25 | #include <asm/machdep.h> |
| 27 | #include <asm/pci-bridge.h> | 26 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/86xx/pic.c b/arch/powerpc/platforms/86xx/pic.c index 22cc3571ae19..9982f57c98b9 100644 --- a/arch/powerpc/platforms/86xx/pic.c +++ b/arch/powerpc/platforms/86xx/pic.c | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | #include <linux/interrupt.h> | 12 | #include <linux/interrupt.h> |
| 13 | #include <linux/of_platform.h> | 13 | #include <linux/of_platform.h> |
| 14 | 14 | ||
| 15 | #include <asm/system.h> | ||
| 16 | #include <asm/mpic.h> | 15 | #include <asm/mpic.h> |
| 17 | #include <asm/i8259.h> | 16 | #include <asm/i8259.h> |
| 18 | 17 | ||
diff --git a/arch/powerpc/platforms/86xx/sbc8641d.c b/arch/powerpc/platforms/86xx/sbc8641d.c index 51c8f331b671..e7007d0d949e 100644 --- a/arch/powerpc/platforms/86xx/sbc8641d.c +++ b/arch/powerpc/platforms/86xx/sbc8641d.c | |||
| @@ -21,7 +21,6 @@ | |||
| 21 | #include <linux/seq_file.h> | 21 | #include <linux/seq_file.h> |
| 22 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
| 23 | 23 | ||
| 24 | #include <asm/system.h> | ||
| 25 | #include <asm/time.h> | 24 | #include <asm/time.h> |
| 26 | #include <asm/machdep.h> | 25 | #include <asm/machdep.h> |
| 27 | #include <asm/pci-bridge.h> | 26 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/8xx/mpc86xads_setup.c b/arch/powerpc/platforms/8xx/mpc86xads_setup.c index caaec29796b7..866feff83c91 100644 --- a/arch/powerpc/platforms/8xx/mpc86xads_setup.c +++ b/arch/powerpc/platforms/8xx/mpc86xads_setup.c | |||
| @@ -19,7 +19,6 @@ | |||
| 19 | 19 | ||
| 20 | #include <asm/io.h> | 20 | #include <asm/io.h> |
| 21 | #include <asm/machdep.h> | 21 | #include <asm/machdep.h> |
| 22 | #include <asm/system.h> | ||
| 23 | #include <asm/time.h> | 22 | #include <asm/time.h> |
| 24 | #include <asm/8xx_immap.h> | 23 | #include <asm/8xx_immap.h> |
| 25 | #include <asm/cpm1.h> | 24 | #include <asm/cpm1.h> |
diff --git a/arch/powerpc/platforms/8xx/mpc885ads_setup.c b/arch/powerpc/platforms/8xx/mpc885ads_setup.c index 45ed6cdc1310..5d98398c2f5e 100644 --- a/arch/powerpc/platforms/8xx/mpc885ads_setup.c +++ b/arch/powerpc/platforms/8xx/mpc885ads_setup.c | |||
| @@ -32,7 +32,6 @@ | |||
| 32 | #include <asm/machdep.h> | 32 | #include <asm/machdep.h> |
| 33 | #include <asm/page.h> | 33 | #include <asm/page.h> |
| 34 | #include <asm/processor.h> | 34 | #include <asm/processor.h> |
| 35 | #include <asm/system.h> | ||
| 36 | #include <asm/time.h> | 35 | #include <asm/time.h> |
| 37 | #include <asm/mpc8xx.h> | 36 | #include <asm/mpc8xx.h> |
| 38 | #include <asm/8xx_immap.h> | 37 | #include <asm/8xx_immap.h> |
diff --git a/arch/powerpc/platforms/8xx/tqm8xx_setup.c b/arch/powerpc/platforms/8xx/tqm8xx_setup.c index 528e00ddef31..8d21ab70e06c 100644 --- a/arch/powerpc/platforms/8xx/tqm8xx_setup.c +++ b/arch/powerpc/platforms/8xx/tqm8xx_setup.c | |||
| @@ -35,7 +35,6 @@ | |||
| 35 | #include <asm/machdep.h> | 35 | #include <asm/machdep.h> |
| 36 | #include <asm/page.h> | 36 | #include <asm/page.h> |
| 37 | #include <asm/processor.h> | 37 | #include <asm/processor.h> |
| 38 | #include <asm/system.h> | ||
| 39 | #include <asm/time.h> | 38 | #include <asm/time.h> |
| 40 | #include <asm/mpc8xx.h> | 39 | #include <asm/mpc8xx.h> |
| 41 | #include <asm/8xx_immap.h> | 40 | #include <asm/8xx_immap.h> |
diff --git a/arch/powerpc/platforms/cell/smp.c b/arch/powerpc/platforms/cell/smp.c index 4a255cf8cd17..49a65e2dfc71 100644 --- a/arch/powerpc/platforms/cell/smp.c +++ b/arch/powerpc/platforms/cell/smp.c | |||
| @@ -38,7 +38,6 @@ | |||
| 38 | #include <asm/machdep.h> | 38 | #include <asm/machdep.h> |
| 39 | #include <asm/cputable.h> | 39 | #include <asm/cputable.h> |
| 40 | #include <asm/firmware.h> | 40 | #include <asm/firmware.h> |
| 41 | #include <asm/system.h> | ||
| 42 | #include <asm/rtas.h> | 41 | #include <asm/rtas.h> |
| 43 | #include <asm/cputhreads.h> | 42 | #include <asm/cputhreads.h> |
| 44 | 43 | ||
diff --git a/arch/powerpc/platforms/embedded6xx/c2k.c b/arch/powerpc/platforms/embedded6xx/c2k.c index 8cab5731850f..ebd3963fdf91 100644 --- a/arch/powerpc/platforms/embedded6xx/c2k.c +++ b/arch/powerpc/platforms/embedded6xx/c2k.c | |||
| @@ -23,7 +23,6 @@ | |||
| 23 | 23 | ||
| 24 | #include <asm/machdep.h> | 24 | #include <asm/machdep.h> |
| 25 | #include <asm/prom.h> | 25 | #include <asm/prom.h> |
| 26 | #include <asm/system.h> | ||
| 27 | #include <asm/time.h> | 26 | #include <asm/time.h> |
| 28 | 27 | ||
| 29 | #include <mm/mmu_decl.h> | 28 | #include <mm/mmu_decl.h> |
diff --git a/arch/powerpc/platforms/embedded6xx/holly.c b/arch/powerpc/platforms/embedded6xx/holly.c index ab51b21b4bd7..8c305c7c8977 100644 --- a/arch/powerpc/platforms/embedded6xx/holly.c +++ b/arch/powerpc/platforms/embedded6xx/holly.c | |||
| @@ -28,7 +28,6 @@ | |||
| 28 | #include <linux/of_platform.h> | 28 | #include <linux/of_platform.h> |
| 29 | #include <linux/module.h> | 29 | #include <linux/module.h> |
| 30 | 30 | ||
| 31 | #include <asm/system.h> | ||
| 32 | #include <asm/time.h> | 31 | #include <asm/time.h> |
| 33 | #include <asm/machdep.h> | 32 | #include <asm/machdep.h> |
| 34 | #include <asm/prom.h> | 33 | #include <asm/prom.h> |
diff --git a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c index 74ccce36baed..beeaf4a173e1 100644 --- a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c +++ b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c | |||
| @@ -32,7 +32,6 @@ | |||
| 32 | #include <linux/tty.h> | 32 | #include <linux/tty.h> |
| 33 | #include <linux/serial_core.h> | 33 | #include <linux/serial_core.h> |
| 34 | 34 | ||
| 35 | #include <asm/system.h> | ||
| 36 | #include <asm/time.h> | 35 | #include <asm/time.h> |
| 37 | #include <asm/machdep.h> | 36 | #include <asm/machdep.h> |
| 38 | #include <asm/prom.h> | 37 | #include <asm/prom.h> |
diff --git a/arch/powerpc/platforms/embedded6xx/prpmc2800.c b/arch/powerpc/platforms/embedded6xx/prpmc2800.c index 670035f49a69..d455f08bea53 100644 --- a/arch/powerpc/platforms/embedded6xx/prpmc2800.c +++ b/arch/powerpc/platforms/embedded6xx/prpmc2800.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | 17 | ||
| 18 | #include <asm/machdep.h> | 18 | #include <asm/machdep.h> |
| 19 | #include <asm/prom.h> | 19 | #include <asm/prom.h> |
| 20 | #include <asm/system.h> | ||
| 21 | #include <asm/time.h> | 20 | #include <asm/time.h> |
| 22 | 21 | ||
| 23 | #include <mm/mmu_decl.h> | 22 | #include <mm/mmu_decl.h> |
diff --git a/arch/powerpc/platforms/embedded6xx/storcenter.c b/arch/powerpc/platforms/embedded6xx/storcenter.c index e0ed3c71d69b..c458b60d14c4 100644 --- a/arch/powerpc/platforms/embedded6xx/storcenter.c +++ b/arch/powerpc/platforms/embedded6xx/storcenter.c | |||
| @@ -16,7 +16,6 @@ | |||
| 16 | #include <linux/initrd.h> | 16 | #include <linux/initrd.h> |
| 17 | #include <linux/of_platform.h> | 17 | #include <linux/of_platform.h> |
| 18 | 18 | ||
| 19 | #include <asm/system.h> | ||
| 20 | #include <asm/time.h> | 19 | #include <asm/time.h> |
| 21 | #include <asm/prom.h> | 20 | #include <asm/prom.h> |
| 22 | #include <asm/mpic.h> | 21 | #include <asm/mpic.h> |
diff --git a/arch/powerpc/platforms/fsl_uli1575.c b/arch/powerpc/platforms/fsl_uli1575.c index 8b0c2082a783..64fde058e545 100644 --- a/arch/powerpc/platforms/fsl_uli1575.c +++ b/arch/powerpc/platforms/fsl_uli1575.c | |||
| @@ -15,7 +15,6 @@ | |||
| 15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
| 16 | #include <linux/mc146818rtc.h> | 16 | #include <linux/mc146818rtc.h> |
| 17 | 17 | ||
| 18 | #include <asm/system.h> | ||
| 19 | #include <asm/pci-bridge.h> | 18 | #include <asm/pci-bridge.h> |
| 20 | 19 | ||
| 21 | #define ULI_PIRQA 0x08 | 20 | #define ULI_PIRQA 0x08 |
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c index 3b7545a51aa9..cb1b0b35a0c6 100644 --- a/arch/powerpc/platforms/maple/setup.c +++ b/arch/powerpc/platforms/maple/setup.c | |||
| @@ -47,7 +47,6 @@ | |||
| 47 | #include <asm/processor.h> | 47 | #include <asm/processor.h> |
| 48 | #include <asm/sections.h> | 48 | #include <asm/sections.h> |
| 49 | #include <asm/prom.h> | 49 | #include <asm/prom.h> |
| 50 | #include <asm/system.h> | ||
| 51 | #include <asm/pgtable.h> | 50 | #include <asm/pgtable.h> |
| 52 | #include <asm/io.h> | 51 | #include <asm/io.h> |
| 53 | #include <asm/pci-bridge.h> | 52 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/maple/time.c b/arch/powerpc/platforms/maple/time.c index eac569dee27c..b4a369dac3a8 100644 --- a/arch/powerpc/platforms/maple/time.c +++ b/arch/powerpc/platforms/maple/time.c | |||
| @@ -27,7 +27,6 @@ | |||
| 27 | 27 | ||
| 28 | #include <asm/sections.h> | 28 | #include <asm/sections.h> |
| 29 | #include <asm/prom.h> | 29 | #include <asm/prom.h> |
| 30 | #include <asm/system.h> | ||
| 31 | #include <asm/io.h> | 30 | #include <asm/io.h> |
| 32 | #include <asm/pgtable.h> | 31 | #include <asm/pgtable.h> |
| 33 | #include <asm/machdep.h> | 32 | #include <asm/machdep.h> |
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c index e777ad471a48..2ed9212d7d59 100644 --- a/arch/powerpc/platforms/pasemi/setup.c +++ b/arch/powerpc/platforms/pasemi/setup.c | |||
| @@ -32,13 +32,13 @@ | |||
| 32 | #include <linux/gfp.h> | 32 | #include <linux/gfp.h> |
| 33 | 33 | ||
| 34 | #include <asm/prom.h> | 34 | #include <asm/prom.h> |
| 35 | #include <asm/system.h> | ||
| 36 | #include <asm/iommu.h> | 35 | #include <asm/iommu.h> |
| 37 | #include <asm/machdep.h> | 36 | #include <asm/machdep.h> |
| 38 | #include <asm/mpic.h> | 37 | #include <asm/mpic.h> |
| 39 | #include <asm/smp.h> | 38 | #include <asm/smp.h> |
| 40 | #include <asm/time.h> | 39 | #include <asm/time.h> |
| 41 | #include <asm/mmu.h> | 40 | #include <asm/mmu.h> |
| 41 | #include <asm/debug.h> | ||
| 42 | 42 | ||
| 43 | #include <pcmcia/ss.h> | 43 | #include <pcmcia/ss.h> |
| 44 | #include <pcmcia/cistpl.h> | 44 | #include <pcmcia/cistpl.h> |
diff --git a/arch/powerpc/platforms/powermac/bootx_init.c b/arch/powerpc/platforms/powermac/bootx_init.c index 84d7fd9bcc69..3e91ef538114 100644 --- a/arch/powerpc/platforms/powermac/bootx_init.c +++ b/arch/powerpc/platforms/powermac/bootx_init.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <asm/bootx.h> | 19 | #include <asm/bootx.h> |
| 20 | #include <asm/btext.h> | 20 | #include <asm/btext.h> |
| 21 | #include <asm/io.h> | 21 | #include <asm/io.h> |
| 22 | #include <asm/setup.h> | ||
| 22 | 23 | ||
| 23 | #undef DEBUG | 24 | #undef DEBUG |
| 24 | #define SET_BOOT_BAT | 25 | #define SET_BOOT_BAT |
diff --git a/arch/powerpc/platforms/powermac/cpufreq_32.c b/arch/powerpc/platforms/powermac/cpufreq_32.c index 1fc386a23f18..64171198535c 100644 --- a/arch/powerpc/platforms/powermac/cpufreq_32.c +++ b/arch/powerpc/platforms/powermac/cpufreq_32.c | |||
| @@ -33,9 +33,9 @@ | |||
| 33 | #include <asm/sections.h> | 33 | #include <asm/sections.h> |
| 34 | #include <asm/cputable.h> | 34 | #include <asm/cputable.h> |
| 35 | #include <asm/time.h> | 35 | #include <asm/time.h> |
| 36 | #include <asm/system.h> | ||
| 37 | #include <asm/mpic.h> | 36 | #include <asm/mpic.h> |
| 38 | #include <asm/keylargo.h> | 37 | #include <asm/keylargo.h> |
| 38 | #include <asm/switch_to.h> | ||
| 39 | 39 | ||
| 40 | /* WARNING !!! This will cause calibrate_delay() to be called, | 40 | /* WARNING !!! This will cause calibrate_delay() to be called, |
| 41 | * but this is an __init function ! So you MUST go edit | 41 | * but this is an __init function ! So you MUST go edit |
diff --git a/arch/powerpc/platforms/powermac/nvram.c b/arch/powerpc/platforms/powermac/nvram.c index da18b26dcc6f..014d06e6d46b 100644 --- a/arch/powerpc/platforms/powermac/nvram.c +++ b/arch/powerpc/platforms/powermac/nvram.c | |||
| @@ -23,7 +23,6 @@ | |||
| 23 | #include <linux/spinlock.h> | 23 | #include <linux/spinlock.h> |
| 24 | #include <asm/sections.h> | 24 | #include <asm/sections.h> |
| 25 | #include <asm/io.h> | 25 | #include <asm/io.h> |
| 26 | #include <asm/system.h> | ||
| 27 | #include <asm/prom.h> | 26 | #include <asm/prom.h> |
| 28 | #include <asm/machdep.h> | 27 | #include <asm/machdep.h> |
| 29 | #include <asm/nvram.h> | 28 | #include <asm/nvram.h> |
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c index 970ea1de4298..141f8899a633 100644 --- a/arch/powerpc/platforms/powermac/setup.c +++ b/arch/powerpc/platforms/powermac/setup.c | |||
| @@ -57,7 +57,6 @@ | |||
| 57 | #include <asm/reg.h> | 57 | #include <asm/reg.h> |
| 58 | #include <asm/sections.h> | 58 | #include <asm/sections.h> |
| 59 | #include <asm/prom.h> | 59 | #include <asm/prom.h> |
| 60 | #include <asm/system.h> | ||
| 61 | #include <asm/pgtable.h> | 60 | #include <asm/pgtable.h> |
| 62 | #include <asm/io.h> | 61 | #include <asm/io.h> |
| 63 | #include <asm/pci-bridge.h> | 62 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/powermac/time.c b/arch/powerpc/platforms/powermac/time.c index 11c9fce43b5b..8680bb69795d 100644 --- a/arch/powerpc/platforms/powermac/time.c +++ b/arch/powerpc/platforms/powermac/time.c | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | 26 | ||
| 27 | #include <asm/sections.h> | 27 | #include <asm/sections.h> |
| 28 | #include <asm/prom.h> | 28 | #include <asm/prom.h> |
| 29 | #include <asm/system.h> | ||
| 30 | #include <asm/io.h> | 29 | #include <asm/io.h> |
| 31 | #include <asm/pgtable.h> | 30 | #include <asm/pgtable.h> |
| 32 | #include <asm/machdep.h> | 31 | #include <asm/machdep.h> |
diff --git a/arch/powerpc/platforms/powernv/smp.c b/arch/powerpc/platforms/powernv/smp.c index 17210c526c52..3ef46254c35b 100644 --- a/arch/powerpc/platforms/powernv/smp.c +++ b/arch/powerpc/platforms/powernv/smp.c | |||
| @@ -25,7 +25,6 @@ | |||
| 25 | #include <asm/machdep.h> | 25 | #include <asm/machdep.h> |
| 26 | #include <asm/cputable.h> | 26 | #include <asm/cputable.h> |
| 27 | #include <asm/firmware.h> | 27 | #include <asm/firmware.h> |
| 28 | #include <asm/system.h> | ||
| 29 | #include <asm/rtas.h> | 28 | #include <asm/rtas.h> |
| 30 | #include <asm/vdso_datapage.h> | 29 | #include <asm/vdso_datapage.h> |
| 31 | #include <asm/cputhreads.h> | 30 | #include <asm/cputhreads.h> |
diff --git a/arch/powerpc/platforms/ps3/mm.c b/arch/powerpc/platforms/ps3/mm.c index 8bd6ba542691..de2aea421707 100644 --- a/arch/powerpc/platforms/ps3/mm.c +++ b/arch/powerpc/platforms/ps3/mm.c | |||
| @@ -29,6 +29,7 @@ | |||
| 29 | #include <asm/prom.h> | 29 | #include <asm/prom.h> |
| 30 | #include <asm/udbg.h> | 30 | #include <asm/udbg.h> |
| 31 | #include <asm/lv1call.h> | 31 | #include <asm/lv1call.h> |
| 32 | #include <asm/setup.h> | ||
| 32 | 33 | ||
| 33 | #include "platform.h" | 34 | #include "platform.h" |
| 34 | 35 | ||
diff --git a/arch/powerpc/platforms/pseries/dtl.c b/arch/powerpc/platforms/pseries/dtl.c index 0e8656370063..a7648543c59e 100644 --- a/arch/powerpc/platforms/pseries/dtl.c +++ b/arch/powerpc/platforms/pseries/dtl.c | |||
| @@ -25,10 +25,10 @@ | |||
| 25 | #include <linux/debugfs.h> | 25 | #include <linux/debugfs.h> |
| 26 | #include <linux/spinlock.h> | 26 | #include <linux/spinlock.h> |
| 27 | #include <asm/smp.h> | 27 | #include <asm/smp.h> |
| 28 | #include <asm/system.h> | ||
| 29 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
| 30 | #include <asm/firmware.h> | 29 | #include <asm/firmware.h> |
| 31 | #include <asm/lppaca.h> | 30 | #include <asm/lppaca.h> |
| 31 | #include <asm/debug.h> | ||
| 32 | 32 | ||
| 33 | #include "plpar_wrappers.h" | 33 | #include "plpar_wrappers.h" |
| 34 | 34 | ||
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c index c986d08d0807..64c97d8ac0c5 100644 --- a/arch/powerpc/platforms/pseries/hotplug-cpu.c +++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c | |||
| @@ -23,7 +23,6 @@ | |||
| 23 | #include <linux/delay.h> | 23 | #include <linux/delay.h> |
| 24 | #include <linux/sched.h> /* for idle_task_exit */ | 24 | #include <linux/sched.h> /* for idle_task_exit */ |
| 25 | #include <linux/cpu.h> | 25 | #include <linux/cpu.h> |
| 26 | #include <asm/system.h> | ||
| 27 | #include <asm/prom.h> | 26 | #include <asm/prom.h> |
| 28 | #include <asm/rtas.h> | 27 | #include <asm/rtas.h> |
| 29 | #include <asm/firmware.h> | 28 | #include <asm/firmware.h> |
diff --git a/arch/powerpc/platforms/pseries/processor_idle.c b/arch/powerpc/platforms/pseries/processor_idle.c index a12e95af6933..41a34bc4a9a2 100644 --- a/arch/powerpc/platforms/pseries/processor_idle.c +++ b/arch/powerpc/platforms/pseries/processor_idle.c | |||
| @@ -14,9 +14,9 @@ | |||
| 14 | 14 | ||
| 15 | #include <asm/paca.h> | 15 | #include <asm/paca.h> |
| 16 | #include <asm/reg.h> | 16 | #include <asm/reg.h> |
| 17 | #include <asm/system.h> | ||
| 18 | #include <asm/machdep.h> | 17 | #include <asm/machdep.h> |
| 19 | #include <asm/firmware.h> | 18 | #include <asm/firmware.h> |
| 19 | #include <asm/runlatch.h> | ||
| 20 | 20 | ||
| 21 | #include "plpar_wrappers.h" | 21 | #include "plpar_wrappers.h" |
| 22 | #include "pseries.h" | 22 | #include "pseries.h" |
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index 086d2ae4e06a..9e248ef6cc67 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c | |||
| @@ -37,7 +37,6 @@ | |||
| 37 | #include <linux/bitops.h> | 37 | #include <linux/bitops.h> |
| 38 | 38 | ||
| 39 | #include <asm/uaccess.h> | 39 | #include <asm/uaccess.h> |
| 40 | #include <asm/system.h> | ||
| 41 | #include <asm/io.h> | 40 | #include <asm/io.h> |
| 42 | #include <asm/pgtable.h> | 41 | #include <asm/pgtable.h> |
| 43 | #include <asm/irq.h> | 42 | #include <asm/irq.h> |
diff --git a/arch/powerpc/platforms/pseries/smp.c b/arch/powerpc/platforms/pseries/smp.c index eadba9521a35..e16bb8d48550 100644 --- a/arch/powerpc/platforms/pseries/smp.c +++ b/arch/powerpc/platforms/pseries/smp.c | |||
| @@ -37,7 +37,6 @@ | |||
| 37 | #include <asm/machdep.h> | 37 | #include <asm/machdep.h> |
| 38 | #include <asm/cputable.h> | 38 | #include <asm/cputable.h> |
| 39 | #include <asm/firmware.h> | 39 | #include <asm/firmware.h> |
| 40 | #include <asm/system.h> | ||
| 41 | #include <asm/rtas.h> | 40 | #include <asm/rtas.h> |
| 42 | #include <asm/pSeries_reconfig.h> | 41 | #include <asm/pSeries_reconfig.h> |
| 43 | #include <asm/mpic.h> | 42 | #include <asm/mpic.h> |
diff --git a/arch/powerpc/platforms/wsp/chroma.c b/arch/powerpc/platforms/wsp/chroma.c index ca6fa26f6e63..8ef53bc2e70e 100644 --- a/arch/powerpc/platforms/wsp/chroma.c +++ b/arch/powerpc/platforms/wsp/chroma.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <linux/time.h> | 17 | #include <linux/time.h> |
| 18 | 18 | ||
| 19 | #include <asm/machdep.h> | 19 | #include <asm/machdep.h> |
| 20 | #include <asm/system.h> | ||
| 21 | #include <asm/udbg.h> | 20 | #include <asm/udbg.h> |
| 22 | 21 | ||
| 23 | #include "ics.h" | 22 | #include "ics.h" |
diff --git a/arch/powerpc/platforms/wsp/psr2.c b/arch/powerpc/platforms/wsp/psr2.c index 0c1ae06d0be1..508ec8282b96 100644 --- a/arch/powerpc/platforms/wsp/psr2.c +++ b/arch/powerpc/platforms/wsp/psr2.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <linux/time.h> | 17 | #include <linux/time.h> |
| 18 | 18 | ||
| 19 | #include <asm/machdep.h> | 19 | #include <asm/machdep.h> |
| 20 | #include <asm/system.h> | ||
| 21 | #include <asm/udbg.h> | 20 | #include <asm/udbg.h> |
| 22 | 21 | ||
| 23 | #include "ics.h" | 22 | #include "ics.h" |
diff --git a/arch/powerpc/platforms/wsp/wsp_pci.c b/arch/powerpc/platforms/wsp/wsp_pci.c index d24b3acf858e..386879412e91 100644 --- a/arch/powerpc/platforms/wsp/wsp_pci.c +++ b/arch/powerpc/platforms/wsp/wsp_pci.c | |||
| @@ -27,6 +27,7 @@ | |||
| 27 | #include <asm/ppc-pci.h> | 27 | #include <asm/ppc-pci.h> |
| 28 | #include <asm/iommu.h> | 28 | #include <asm/iommu.h> |
| 29 | #include <asm/io-workarounds.h> | 29 | #include <asm/io-workarounds.h> |
| 30 | #include <asm/debug.h> | ||
| 30 | 31 | ||
| 31 | #include "wsp.h" | 32 | #include "wsp.h" |
| 32 | #include "wsp_pci.h" | 33 | #include "wsp_pci.h" |
diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c index bf6c7cc0a6af..4dd534194ae8 100644 --- a/arch/powerpc/sysdev/cpm_common.c +++ b/arch/powerpc/sysdev/cpm_common.c | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | 26 | ||
| 27 | #include <asm/udbg.h> | 27 | #include <asm/udbg.h> |
| 28 | #include <asm/io.h> | 28 | #include <asm/io.h> |
| 29 | #include <asm/system.h> | ||
| 30 | #include <asm/rheap.h> | 29 | #include <asm/rheap.h> |
| 31 | #include <asm/cpm.h> | 30 | #include <asm/cpm.h> |
| 32 | 31 | ||
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c index e8f385fbf549..c449dbd1c938 100644 --- a/arch/powerpc/sysdev/fsl_soc.c +++ b/arch/powerpc/sysdev/fsl_soc.c | |||
| @@ -31,7 +31,6 @@ | |||
| 31 | #include <linux/fs_enet_pd.h> | 31 | #include <linux/fs_enet_pd.h> |
| 32 | #include <linux/fs_uart_pd.h> | 32 | #include <linux/fs_uart_pd.h> |
| 33 | 33 | ||
| 34 | #include <asm/system.h> | ||
| 35 | #include <linux/atomic.h> | 34 | #include <linux/atomic.h> |
| 36 | #include <asm/io.h> | 35 | #include <asm/io.h> |
| 37 | #include <asm/irq.h> | 36 | #include <asm/irq.h> |
diff --git a/arch/powerpc/sysdev/msi_bitmap.c b/arch/powerpc/sysdev/msi_bitmap.c index 5287e95cec3a..0968b66b4cf9 100644 --- a/arch/powerpc/sysdev/msi_bitmap.c +++ b/arch/powerpc/sysdev/msi_bitmap.c | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
| 13 | #include <linux/bitmap.h> | 13 | #include <linux/bitmap.h> |
| 14 | #include <asm/msi_bitmap.h> | 14 | #include <asm/msi_bitmap.h> |
| 15 | #include <asm/setup.h> | ||
| 15 | 16 | ||
| 16 | int msi_bitmap_alloc_hwirqs(struct msi_bitmap *bmp, int num) | 17 | int msi_bitmap_alloc_hwirqs(struct msi_bitmap *bmp, int num) |
| 17 | { | 18 | { |
diff --git a/arch/powerpc/sysdev/tsi108_dev.c b/arch/powerpc/sysdev/tsi108_dev.c index 2370e1c63379..1fd0717ade02 100644 --- a/arch/powerpc/sysdev/tsi108_dev.c +++ b/arch/powerpc/sysdev/tsi108_dev.c | |||
| @@ -22,7 +22,6 @@ | |||
| 22 | #include <linux/of_net.h> | 22 | #include <linux/of_net.h> |
| 23 | #include <asm/tsi108.h> | 23 | #include <asm/tsi108.h> |
| 24 | 24 | ||
| 25 | #include <asm/system.h> | ||
| 26 | #include <linux/atomic.h> | 25 | #include <linux/atomic.h> |
| 27 | #include <asm/io.h> | 26 | #include <asm/io.h> |
| 28 | #include <asm/irq.h> | 27 | #include <asm/irq.h> |
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 68a9cbbab450..0f3ab06d2222 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | #include <asm/spu_priv1.h> | 41 | #include <asm/spu_priv1.h> |
| 42 | #include <asm/setjmp.h> | 42 | #include <asm/setjmp.h> |
| 43 | #include <asm/reg.h> | 43 | #include <asm/reg.h> |
| 44 | #include <asm/debug.h> | ||
| 44 | 45 | ||
| 45 | #ifdef CONFIG_PPC64 | 46 | #ifdef CONFIG_PPC64 |
| 46 | #include <asm/hvcall.h> | 47 | #include <asm/hvcall.h> |
diff --git a/lib/raid6/altivec.uc b/lib/raid6/altivec.uc index 2654d5c854be..69f3a9ff870f 100644 --- a/lib/raid6/altivec.uc +++ b/lib/raid6/altivec.uc | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | #ifdef __KERNEL__ | 30 | #ifdef __KERNEL__ |
| 31 | # include <asm/system.h> | 31 | # include <asm/system.h> |
| 32 | # include <asm/cputable.h> | 32 | # include <asm/cputable.h> |
| 33 | # include <asm/switch_to.h> | ||
| 33 | #endif | 34 | #endif |
| 34 | 35 | ||
| 35 | /* | 36 | /* |
