diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-01 17:43:57 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-01 17:43:57 -0400 |
| commit | 2e175a90047a2dbc76fde169c990164895b25dfc (patch) | |
| tree | ddff26c8c44a4cb10594753785f7c8ee03000861 /include | |
| parent | c21b1e4d9b0c263a35f67eed2b025d053566c557 (diff) | |
| parent | 398e692fd5cecdd25d311b47bbae69f7bac3a3cb (diff) | |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 4298/1: fix memory barriers for DMA coherent and SMP platforms
[ARM] 4295/2: Fix error-handling in pxaficp_ir.c (version 2)
[ARM] Fix __NR_kexec_load
[ARM] Export dma_channel_active()
[ARM] 4296/1: ixp4xx: compile fix
[ARM] 4289/1: AT91: SAM9260 NAND flash timing
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-arm/arch-ixp4xx/io.h | 17 | ||||
| -rw-r--r-- | include/asm-arm/system.h | 34 | ||||
| -rw-r--r-- | include/asm-arm/unistd.h | 2 |
3 files changed, 19 insertions, 34 deletions
diff --git a/include/asm-arm/arch-ixp4xx/io.h b/include/asm-arm/arch-ixp4xx/io.h index b7b5414d9320..a41ba229c564 100644 --- a/include/asm-arm/arch-ixp4xx/io.h +++ b/include/asm-arm/arch-ixp4xx/io.h | |||
| @@ -238,23 +238,6 @@ __ixp4xx_readsl(const volatile void __iomem *bus_addr, u32 *vaddr, u32 count) | |||
| 238 | #define memcpy_fromio(a,c,l) _memcpy_fromio((a),(c),(l)) | 238 | #define memcpy_fromio(a,c,l) _memcpy_fromio((a),(c),(l)) |
| 239 | #define memcpy_toio(c,a,l) _memcpy_toio((c),(a),(l)) | 239 | #define memcpy_toio(c,a,l) _memcpy_toio((c),(a),(l)) |
| 240 | 240 | ||
| 241 | static inline int | ||
| 242 | check_signature(const unsigned char __iomem *bus_addr, const unsigned char *signature, | ||
| 243 | int length) | ||
| 244 | { | ||
| 245 | int retval = 0; | ||
| 246 | do { | ||
| 247 | if (readb(bus_addr) != *signature) | ||
| 248 | goto out; | ||
| 249 | bus_addr++; | ||
| 250 | signature++; | ||
| 251 | length--; | ||
| 252 | } while (length); | ||
| 253 | retval = 1; | ||
| 254 | out: | ||
| 255 | return retval; | ||
| 256 | } | ||
| 257 | |||
| 258 | #endif | 241 | #endif |
| 259 | 242 | ||
| 260 | #ifndef CONFIG_PCI | 243 | #ifndef CONFIG_PCI |
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h index f06d8a43fdee..69134c7518c1 100644 --- a/include/asm-arm/system.h +++ b/include/asm-arm/system.h | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #ifdef __KERNEL__ | 4 | #ifdef __KERNEL__ |
| 5 | 5 | ||
| 6 | #include <asm/memory.h> | ||
| 6 | 7 | ||
| 7 | #define CPU_ARCH_UNKNOWN 0 | 8 | #define CPU_ARCH_UNKNOWN 0 |
| 8 | #define CPU_ARCH_ARMv3 1 | 9 | #define CPU_ARCH_ARMv3 1 |
| @@ -154,7 +155,7 @@ extern unsigned int user_debug; | |||
| 154 | #define vectors_high() (0) | 155 | #define vectors_high() (0) |
| 155 | #endif | 156 | #endif |
| 156 | 157 | ||
| 157 | #if __LINUX_ARM_ARCH__ >= 6 | 158 | #if defined(CONFIG_CPU_XSC3) || __LINUX_ARM_ARCH__ >= 6 |
| 158 | #define isb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c5, 4" \ | 159 | #define isb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c5, 4" \ |
| 159 | : : "r" (0) : "memory") | 160 | : : "r" (0) : "memory") |
| 160 | #define dsb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 4" \ | 161 | #define dsb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 4" \ |
| @@ -168,22 +169,23 @@ extern unsigned int user_debug; | |||
| 168 | #define dmb() __asm__ __volatile__ ("" : : : "memory") | 169 | #define dmb() __asm__ __volatile__ ("" : : : "memory") |
| 169 | #endif | 170 | #endif |
| 170 | 171 | ||
| 171 | #define mb() barrier() | 172 | #ifndef CONFIG_SMP |
| 172 | #define rmb() barrier() | 173 | #define mb() do { if (arch_is_coherent()) dmb(); else barrier(); } while (0) |
| 173 | #define wmb() barrier() | 174 | #define rmb() do { if (arch_is_coherent()) dmb(); else barrier(); } while (0) |
| 174 | #define read_barrier_depends() do { } while(0) | 175 | #define wmb() do { if (arch_is_coherent()) dmb(); else barrier(); } while (0) |
| 175 | 176 | #define smp_mb() barrier() | |
| 176 | #ifdef CONFIG_SMP | 177 | #define smp_rmb() barrier() |
| 177 | #define smp_mb() dmb() | 178 | #define smp_wmb() barrier() |
| 178 | #define smp_rmb() dmb() | ||
| 179 | #define smp_wmb() dmb() | ||
| 180 | #define smp_read_barrier_depends() read_barrier_depends() | ||
| 181 | #else | 179 | #else |
| 182 | #define smp_mb() barrier() | 180 | #define mb() dmb() |
| 183 | #define smp_rmb() barrier() | 181 | #define rmb() dmb() |
| 184 | #define smp_wmb() barrier() | 182 | #define wmb() dmb() |
| 185 | #define smp_read_barrier_depends() read_barrier_depends() | 183 | #define smp_mb() dmb() |
| 186 | #endif /* CONFIG_SMP */ | 184 | #define smp_rmb() dmb() |
| 185 | #define smp_wmb() dmb() | ||
| 186 | #endif | ||
| 187 | #define read_barrier_depends() do { } while(0) | ||
| 188 | #define smp_read_barrier_depends() do { } while(0) | ||
| 187 | 189 | ||
| 188 | #define set_mb(var, value) do { var = value; smp_mb(); } while (0) | 190 | #define set_mb(var, value) do { var = value; smp_mb(); } while (0) |
| 189 | #define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t"); | 191 | #define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t"); |
diff --git a/include/asm-arm/unistd.h b/include/asm-arm/unistd.h index 0991b7bc3f78..c025ab47e4b9 100644 --- a/include/asm-arm/unistd.h +++ b/include/asm-arm/unistd.h | |||
| @@ -372,7 +372,7 @@ | |||
| 372 | #define __NR_move_pages (__NR_SYSCALL_BASE+344) | 372 | #define __NR_move_pages (__NR_SYSCALL_BASE+344) |
| 373 | #define __NR_getcpu (__NR_SYSCALL_BASE+345) | 373 | #define __NR_getcpu (__NR_SYSCALL_BASE+345) |
| 374 | /* 346 for epoll_pwait */ | 374 | /* 346 for epoll_pwait */ |
| 375 | #define __NR_sys_kexec_load (__NR_SYSCALL_BASE+347) | 375 | #define __NR_kexec_load (__NR_SYSCALL_BASE+347) |
| 376 | 376 | ||
| 377 | /* | 377 | /* |
| 378 | * The following SWIs are ARM private. | 378 | * The following SWIs are ARM private. |
