diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-29 20:17:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-29 20:17:35 -0400 |
commit | 6bec11921a7d7b11d0b1909596636632aece5a26 (patch) | |
tree | 1bf2ac7d5c482afb2c5cf59c0fc7db7c7ac03ff6 | |
parent | 553cbf0a8f19c669bed82028988aa977558ef551 (diff) | |
parent | db7e1bc479cc941c53839b18ff811c7def0c52e7 (diff) |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
ARM: 6061/1: PL061 GPIO: Bug fix - setting gpio for HIGH_LEVEL interrupt is not working.
ARM: 5957/1: ARM: RealView SD/MMC Card detection and write-protect using GPIOLIB
ARM: 6030/1: KS8695: enable console
ARM: 6060/1: PL061 GPIO: Setting gpio val after changing direction to OUT.
ARM: 6059/1: PL061 GPIO: Changing *_irq_chip_data with *_irq_data for real irqs.
ARM: 6023/1: update bcmring_defconfig to latest version and fix build error
ARM: fix build error in arch/arm/kernel/process.c
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/configs/bcmring_defconfig | 126 | ||||
-rw-r--r-- | arch/arm/include/asm/assembler.h | 12 | ||||
-rw-r--r-- | arch/arm/include/asm/futex.h | 16 | ||||
-rw-r--r-- | arch/arm/include/asm/uaccess.h | 40 | ||||
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 10 | ||||
-rw-r--r-- | arch/arm/kernel/ftrace.c | 8 | ||||
-rw-r--r-- | arch/arm/kernel/process.c | 8 | ||||
-rw-r--r-- | arch/arm/lib/backtrace.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/clear_user.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/copy_from_user.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/copy_to_user.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/csumpartialcopyuser.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/getuser.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/putuser.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/strncpy_from_user.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/strnlen_user.S | 4 | ||||
-rw-r--r-- | arch/arm/lib/uaccess.S | 8 | ||||
-rw-r--r-- | arch/arm/mach-realview/core.c | 2 | ||||
-rw-r--r-- | arch/arm/mm/alignment.c | 24 | ||||
-rw-r--r-- | arch/arm/mm/proc-sa1100.S | 2 | ||||
-rw-r--r-- | arch/arm/nwfpe/entry.S | 8 | ||||
-rw-r--r-- | drivers/gpio/pl061.c | 14 | ||||
-rw-r--r-- | drivers/serial/serial_ks8695.c | 1 |
24 files changed, 200 insertions, 116 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index c5408bf1bf43..92622eb5cc0d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -253,6 +253,7 @@ config ARCH_REALVIEW | |||
253 | select GENERIC_TIME | 253 | select GENERIC_TIME |
254 | select GENERIC_CLOCKEVENTS | 254 | select GENERIC_CLOCKEVENTS |
255 | select ARCH_WANT_OPTIONAL_GPIOLIB | 255 | select ARCH_WANT_OPTIONAL_GPIOLIB |
256 | select GPIO_PL061 if GPIOLIB | ||
256 | help | 257 | help |
257 | This enables support for ARM Ltd RealView boards. | 258 | This enables support for ARM Ltd RealView boards. |
258 | 259 | ||
diff --git a/arch/arm/configs/bcmring_defconfig b/arch/arm/configs/bcmring_defconfig index 1e12167c89b7..6ac6693299bc 100644 --- a/arch/arm/configs/bcmring_defconfig +++ b/arch/arm/configs/bcmring_defconfig | |||
@@ -1,13 +1,13 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.31-rc3 | 3 | # Linux kernel version: 2.6.34-rc2 |
4 | # Fri Jul 17 12:07:28 2009 | 4 | # Mon Mar 29 12:01:41 2010 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
8 | CONFIG_GENERIC_TIME=y | 8 | CONFIG_GENERIC_TIME=y |
9 | CONFIG_GENERIC_CLOCKEVENTS=y | 9 | CONFIG_GENERIC_CLOCKEVENTS=y |
10 | CONFIG_MMU=y | 10 | CONFIG_HAVE_PROC_CPU=y |
11 | CONFIG_GENERIC_HARDIRQS=y | 11 | CONFIG_GENERIC_HARDIRQS=y |
12 | CONFIG_STACKTRACE_SUPPORT=y | 12 | CONFIG_STACKTRACE_SUPPORT=y |
13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
@@ -18,6 +18,7 @@ CONFIG_GENERIC_IRQ_PROBE=y | |||
18 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 18 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
19 | CONFIG_GENERIC_HWEIGHT=y | 19 | CONFIG_GENERIC_HWEIGHT=y |
20 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 20 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
21 | CONFIG_NEED_DMA_MAP_STATE=y | ||
21 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 22 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
22 | CONFIG_VECTORS_BASE=0xffff0000 | 23 | CONFIG_VECTORS_BASE=0xffff0000 |
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
@@ -32,6 +33,12 @@ CONFIG_LOCK_KERNEL=y | |||
32 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 33 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
33 | CONFIG_LOCALVERSION="" | 34 | CONFIG_LOCALVERSION="" |
34 | # CONFIG_LOCALVERSION_AUTO is not set | 35 | # CONFIG_LOCALVERSION_AUTO is not set |
36 | CONFIG_HAVE_KERNEL_GZIP=y | ||
37 | CONFIG_HAVE_KERNEL_LZO=y | ||
38 | CONFIG_KERNEL_GZIP=y | ||
39 | # CONFIG_KERNEL_BZIP2 is not set | ||
40 | # CONFIG_KERNEL_LZMA is not set | ||
41 | # CONFIG_KERNEL_LZO is not set | ||
35 | # CONFIG_SWAP is not set | 42 | # CONFIG_SWAP is not set |
36 | CONFIG_SYSVIPC=y | 43 | CONFIG_SYSVIPC=y |
37 | CONFIG_SYSVIPC_SYSCTL=y | 44 | CONFIG_SYSVIPC_SYSCTL=y |
@@ -43,21 +50,22 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
43 | # | 50 | # |
44 | # RCU Subsystem | 51 | # RCU Subsystem |
45 | # | 52 | # |
46 | CONFIG_CLASSIC_RCU=y | 53 | CONFIG_TREE_RCU=y |
47 | # CONFIG_TREE_RCU is not set | 54 | # CONFIG_TREE_PREEMPT_RCU is not set |
48 | # CONFIG_PREEMPT_RCU is not set | 55 | # CONFIG_TINY_RCU is not set |
56 | # CONFIG_RCU_TRACE is not set | ||
57 | CONFIG_RCU_FANOUT=32 | ||
58 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
49 | # CONFIG_TREE_RCU_TRACE is not set | 59 | # CONFIG_TREE_RCU_TRACE is not set |
50 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
51 | # CONFIG_IKCONFIG is not set | 60 | # CONFIG_IKCONFIG is not set |
52 | CONFIG_LOG_BUF_SHIFT=17 | 61 | CONFIG_LOG_BUF_SHIFT=17 |
53 | # CONFIG_GROUP_SCHED is not set | ||
54 | # CONFIG_CGROUPS is not set | ||
55 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 62 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
56 | # CONFIG_RELAY is not set | 63 | # CONFIG_RELAY is not set |
57 | # CONFIG_NAMESPACES is not set | 64 | # CONFIG_NAMESPACES is not set |
58 | # CONFIG_BLK_DEV_INITRD is not set | 65 | # CONFIG_BLK_DEV_INITRD is not set |
59 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
60 | CONFIG_SYSCTL=y | 67 | CONFIG_SYSCTL=y |
68 | CONFIG_ANON_INODES=y | ||
61 | CONFIG_EMBEDDED=y | 69 | CONFIG_EMBEDDED=y |
62 | CONFIG_UID16=y | 70 | CONFIG_UID16=y |
63 | CONFIG_SYSCTL_SYSCALL=y | 71 | CONFIG_SYSCTL_SYSCALL=y |
@@ -75,19 +83,21 @@ CONFIG_FUTEX=y | |||
75 | # CONFIG_EVENTFD is not set | 83 | # CONFIG_EVENTFD is not set |
76 | CONFIG_SHMEM=y | 84 | CONFIG_SHMEM=y |
77 | # CONFIG_AIO is not set | 85 | # CONFIG_AIO is not set |
86 | CONFIG_HAVE_PERF_EVENTS=y | ||
87 | CONFIG_PERF_USE_VMALLOC=y | ||
78 | 88 | ||
79 | # | 89 | # |
80 | # Performance Counters | 90 | # Kernel Performance Events And Counters |
81 | # | 91 | # |
92 | CONFIG_PERF_EVENTS=y | ||
93 | CONFIG_PERF_COUNTERS=y | ||
82 | # CONFIG_VM_EVENT_COUNTERS is not set | 94 | # CONFIG_VM_EVENT_COUNTERS is not set |
83 | # CONFIG_SLUB_DEBUG is not set | 95 | # CONFIG_SLUB_DEBUG is not set |
84 | # CONFIG_STRIP_ASM_SYMS is not set | ||
85 | # CONFIG_COMPAT_BRK is not set | 96 | # CONFIG_COMPAT_BRK is not set |
86 | # CONFIG_SLAB is not set | 97 | # CONFIG_SLAB is not set |
87 | CONFIG_SLUB=y | 98 | CONFIG_SLUB=y |
88 | # CONFIG_SLOB is not set | 99 | # CONFIG_SLOB is not set |
89 | # CONFIG_PROFILING is not set | 100 | # CONFIG_PROFILING is not set |
90 | # CONFIG_MARKERS is not set | ||
91 | CONFIG_HAVE_OPROFILE=y | 101 | CONFIG_HAVE_OPROFILE=y |
92 | # CONFIG_KPROBES is not set | 102 | # CONFIG_KPROBES is not set |
93 | CONFIG_HAVE_KPROBES=y | 103 | CONFIG_HAVE_KPROBES=y |
@@ -115,24 +125,53 @@ CONFIG_LBDAF=y | |||
115 | # IO Schedulers | 125 | # IO Schedulers |
116 | # | 126 | # |
117 | CONFIG_IOSCHED_NOOP=y | 127 | CONFIG_IOSCHED_NOOP=y |
118 | # CONFIG_IOSCHED_AS is not set | ||
119 | # CONFIG_IOSCHED_DEADLINE is not set | 128 | # CONFIG_IOSCHED_DEADLINE is not set |
120 | # CONFIG_IOSCHED_CFQ is not set | 129 | # CONFIG_IOSCHED_CFQ is not set |
121 | # CONFIG_DEFAULT_AS is not set | ||
122 | # CONFIG_DEFAULT_DEADLINE is not set | 130 | # CONFIG_DEFAULT_DEADLINE is not set |
123 | # CONFIG_DEFAULT_CFQ is not set | 131 | # CONFIG_DEFAULT_CFQ is not set |
124 | CONFIG_DEFAULT_NOOP=y | 132 | CONFIG_DEFAULT_NOOP=y |
125 | CONFIG_DEFAULT_IOSCHED="noop" | 133 | CONFIG_DEFAULT_IOSCHED="noop" |
134 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
135 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
136 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
137 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
138 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
139 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
140 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
141 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
142 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
143 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
144 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
145 | # CONFIG_INLINE_READ_LOCK is not set | ||
146 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
147 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
148 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
149 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
150 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
151 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
152 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
153 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
154 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
155 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
156 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
157 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
158 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
159 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
160 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
161 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
162 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
126 | # CONFIG_FREEZER is not set | 163 | # CONFIG_FREEZER is not set |
127 | 164 | ||
128 | # | 165 | # |
129 | # System Type | 166 | # System Type |
130 | # | 167 | # |
168 | CONFIG_MMU=y | ||
131 | # CONFIG_ARCH_AAEC2000 is not set | 169 | # CONFIG_ARCH_AAEC2000 is not set |
132 | # CONFIG_ARCH_INTEGRATOR is not set | 170 | # CONFIG_ARCH_INTEGRATOR is not set |
133 | # CONFIG_ARCH_REALVIEW is not set | 171 | # CONFIG_ARCH_REALVIEW is not set |
134 | # CONFIG_ARCH_VERSATILE is not set | 172 | # CONFIG_ARCH_VERSATILE is not set |
135 | # CONFIG_ARCH_AT91 is not set | 173 | # CONFIG_ARCH_AT91 is not set |
174 | CONFIG_ARCH_BCMRING=y | ||
136 | # CONFIG_ARCH_CLPS711X is not set | 175 | # CONFIG_ARCH_CLPS711X is not set |
137 | # CONFIG_ARCH_GEMINI is not set | 176 | # CONFIG_ARCH_GEMINI is not set |
138 | # CONFIG_ARCH_EBSA110 is not set | 177 | # CONFIG_ARCH_EBSA110 is not set |
@@ -149,6 +188,7 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
149 | # CONFIG_ARCH_IXP2000 is not set | 188 | # CONFIG_ARCH_IXP2000 is not set |
150 | # CONFIG_ARCH_IXP4XX is not set | 189 | # CONFIG_ARCH_IXP4XX is not set |
151 | # CONFIG_ARCH_L7200 is not set | 190 | # CONFIG_ARCH_L7200 is not set |
191 | # CONFIG_ARCH_DOVE is not set | ||
152 | # CONFIG_ARCH_KIRKWOOD is not set | 192 | # CONFIG_ARCH_KIRKWOOD is not set |
153 | # CONFIG_ARCH_LOKI is not set | 193 | # CONFIG_ARCH_LOKI is not set |
154 | # CONFIG_ARCH_MV78XX0 is not set | 194 | # CONFIG_ARCH_MV78XX0 is not set |
@@ -157,19 +197,26 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
157 | # CONFIG_ARCH_KS8695 is not set | 197 | # CONFIG_ARCH_KS8695 is not set |
158 | # CONFIG_ARCH_NS9XXX is not set | 198 | # CONFIG_ARCH_NS9XXX is not set |
159 | # CONFIG_ARCH_W90X900 is not set | 199 | # CONFIG_ARCH_W90X900 is not set |
200 | # CONFIG_ARCH_NUC93X is not set | ||
160 | # CONFIG_ARCH_PNX4008 is not set | 201 | # CONFIG_ARCH_PNX4008 is not set |
161 | # CONFIG_ARCH_PXA is not set | 202 | # CONFIG_ARCH_PXA is not set |
162 | # CONFIG_ARCH_MSM is not set | 203 | # CONFIG_ARCH_MSM is not set |
204 | # CONFIG_ARCH_SHMOBILE is not set | ||
163 | # CONFIG_ARCH_RPC is not set | 205 | # CONFIG_ARCH_RPC is not set |
164 | # CONFIG_ARCH_SA1100 is not set | 206 | # CONFIG_ARCH_SA1100 is not set |
165 | # CONFIG_ARCH_S3C2410 is not set | 207 | # CONFIG_ARCH_S3C2410 is not set |
166 | # CONFIG_ARCH_S3C64XX is not set | 208 | # CONFIG_ARCH_S3C64XX is not set |
209 | # CONFIG_ARCH_S5P6440 is not set | ||
210 | # CONFIG_ARCH_S5P6442 is not set | ||
211 | # CONFIG_ARCH_S5PC1XX is not set | ||
212 | # CONFIG_ARCH_S5PV210 is not set | ||
167 | # CONFIG_ARCH_SHARK is not set | 213 | # CONFIG_ARCH_SHARK is not set |
168 | # CONFIG_ARCH_LH7A40X is not set | 214 | # CONFIG_ARCH_LH7A40X is not set |
169 | # CONFIG_ARCH_U300 is not set | 215 | # CONFIG_ARCH_U300 is not set |
216 | # CONFIG_ARCH_U8500 is not set | ||
217 | # CONFIG_ARCH_NOMADIK is not set | ||
170 | # CONFIG_ARCH_DAVINCI is not set | 218 | # CONFIG_ARCH_DAVINCI is not set |
171 | # CONFIG_ARCH_OMAP is not set | 219 | # CONFIG_ARCH_OMAP is not set |
172 | CONFIG_ARCH_BCMRING=y | ||
173 | # CONFIG_ARCH_FPGA11107 is not set | 220 | # CONFIG_ARCH_FPGA11107 is not set |
174 | CONFIG_ARCH_BCM11107=y | 221 | CONFIG_ARCH_BCM11107=y |
175 | 222 | ||
@@ -185,7 +232,7 @@ CONFIG_CPU_V6=y | |||
185 | CONFIG_CPU_32v6K=y | 232 | CONFIG_CPU_32v6K=y |
186 | CONFIG_CPU_32v6=y | 233 | CONFIG_CPU_32v6=y |
187 | CONFIG_CPU_ABRT_EV6=y | 234 | CONFIG_CPU_ABRT_EV6=y |
188 | CONFIG_CPU_PABRT_NOIFAR=y | 235 | CONFIG_CPU_PABRT_V6=y |
189 | CONFIG_CPU_CACHE_V6=y | 236 | CONFIG_CPU_CACHE_V6=y |
190 | CONFIG_CPU_CACHE_VIPT=y | 237 | CONFIG_CPU_CACHE_VIPT=y |
191 | CONFIG_CPU_COPY_V6=y | 238 | CONFIG_CPU_COPY_V6=y |
@@ -201,6 +248,8 @@ CONFIG_ARM_THUMB=y | |||
201 | # CONFIG_CPU_ICACHE_DISABLE is not set | 248 | # CONFIG_CPU_ICACHE_DISABLE is not set |
202 | # CONFIG_CPU_DCACHE_DISABLE is not set | 249 | # CONFIG_CPU_DCACHE_DISABLE is not set |
203 | # CONFIG_CPU_BPREDICT_DISABLE is not set | 250 | # CONFIG_CPU_BPREDICT_DISABLE is not set |
251 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
252 | CONFIG_CPU_HAS_PMU=y | ||
204 | # CONFIG_ARM_ERRATA_411920 is not set | 253 | # CONFIG_ARM_ERRATA_411920 is not set |
205 | CONFIG_COMMON_CLKDEV=y | 254 | CONFIG_COMMON_CLKDEV=y |
206 | 255 | ||
@@ -222,6 +271,8 @@ CONFIG_VMSPLIT_3G=y | |||
222 | # CONFIG_VMSPLIT_2G is not set | 271 | # CONFIG_VMSPLIT_2G is not set |
223 | # CONFIG_VMSPLIT_1G is not set | 272 | # CONFIG_VMSPLIT_1G is not set |
224 | CONFIG_PAGE_OFFSET=0xC0000000 | 273 | CONFIG_PAGE_OFFSET=0xC0000000 |
274 | # CONFIG_PREEMPT_NONE is not set | ||
275 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
225 | CONFIG_PREEMPT=y | 276 | CONFIG_PREEMPT=y |
226 | CONFIG_HZ=100 | 277 | CONFIG_HZ=100 |
227 | CONFIG_AEABI=y | 278 | CONFIG_AEABI=y |
@@ -229,6 +280,7 @@ CONFIG_AEABI=y | |||
229 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | 280 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set |
230 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | 281 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set |
231 | # CONFIG_HIGHMEM is not set | 282 | # CONFIG_HIGHMEM is not set |
283 | CONFIG_HW_PERF_EVENTS=y | ||
232 | CONFIG_SELECT_MEMORY_MODEL=y | 284 | CONFIG_SELECT_MEMORY_MODEL=y |
233 | CONFIG_FLATMEM_MANUAL=y | 285 | CONFIG_FLATMEM_MANUAL=y |
234 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 286 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
@@ -240,8 +292,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
240 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 292 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
241 | CONFIG_ZONE_DMA_FLAG=0 | 293 | CONFIG_ZONE_DMA_FLAG=0 |
242 | CONFIG_VIRT_TO_BUS=y | 294 | CONFIG_VIRT_TO_BUS=y |
243 | CONFIG_HAVE_MLOCK=y | 295 | # CONFIG_KSM is not set |
244 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
245 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 296 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
246 | CONFIG_ALIGNMENT_TRAP=y | 297 | CONFIG_ALIGNMENT_TRAP=y |
247 | CONFIG_UACCESS_WITH_MEMCPY=y | 298 | CONFIG_UACCESS_WITH_MEMCPY=y |
@@ -335,9 +386,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
335 | # CONFIG_CONNECTOR is not set | 386 | # CONFIG_CONNECTOR is not set |
336 | CONFIG_MTD=y | 387 | CONFIG_MTD=y |
337 | # CONFIG_MTD_DEBUG is not set | 388 | # CONFIG_MTD_DEBUG is not set |
389 | # CONFIG_MTD_TESTS is not set | ||
338 | CONFIG_MTD_CONCAT=y | 390 | CONFIG_MTD_CONCAT=y |
339 | CONFIG_MTD_PARTITIONS=y | 391 | CONFIG_MTD_PARTITIONS=y |
340 | # CONFIG_MTD_TESTS is not set | ||
341 | # CONFIG_MTD_REDBOOT_PARTS is not set | 392 | # CONFIG_MTD_REDBOOT_PARTS is not set |
342 | CONFIG_MTD_CMDLINE_PARTS=y | 393 | CONFIG_MTD_CMDLINE_PARTS=y |
343 | # CONFIG_MTD_AFS_PARTS is not set | 394 | # CONFIG_MTD_AFS_PARTS is not set |
@@ -433,6 +484,10 @@ CONFIG_MTD_NAND_BCM_UMI_HWCS=y | |||
433 | CONFIG_BLK_DEV=y | 484 | CONFIG_BLK_DEV=y |
434 | # CONFIG_BLK_DEV_COW_COMMON is not set | 485 | # CONFIG_BLK_DEV_COW_COMMON is not set |
435 | # CONFIG_BLK_DEV_LOOP is not set | 486 | # CONFIG_BLK_DEV_LOOP is not set |
487 | |||
488 | # | ||
489 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
490 | # | ||
436 | # CONFIG_BLK_DEV_NBD is not set | 491 | # CONFIG_BLK_DEV_NBD is not set |
437 | # CONFIG_BLK_DEV_RAM is not set | 492 | # CONFIG_BLK_DEV_RAM is not set |
438 | # CONFIG_CDROM_PKTCDVD is not set | 493 | # CONFIG_CDROM_PKTCDVD is not set |
@@ -444,6 +499,7 @@ CONFIG_HAVE_IDE=y | |||
444 | # | 499 | # |
445 | # SCSI device support | 500 | # SCSI device support |
446 | # | 501 | # |
502 | CONFIG_SCSI_MOD=y | ||
447 | # CONFIG_RAID_ATTRS is not set | 503 | # CONFIG_RAID_ATTRS is not set |
448 | # CONFIG_SCSI is not set | 504 | # CONFIG_SCSI is not set |
449 | # CONFIG_SCSI_DMA is not set | 505 | # CONFIG_SCSI_DMA is not set |
@@ -452,6 +508,7 @@ CONFIG_HAVE_IDE=y | |||
452 | # CONFIG_MD is not set | 508 | # CONFIG_MD is not set |
453 | # CONFIG_NETDEVICES is not set | 509 | # CONFIG_NETDEVICES is not set |
454 | # CONFIG_ISDN is not set | 510 | # CONFIG_ISDN is not set |
511 | # CONFIG_PHONE is not set | ||
455 | 512 | ||
456 | # | 513 | # |
457 | # Input device support | 514 | # Input device support |
@@ -459,6 +516,7 @@ CONFIG_HAVE_IDE=y | |||
459 | CONFIG_INPUT=y | 516 | CONFIG_INPUT=y |
460 | # CONFIG_INPUT_FF_MEMLESS is not set | 517 | # CONFIG_INPUT_FF_MEMLESS is not set |
461 | # CONFIG_INPUT_POLLDEV is not set | 518 | # CONFIG_INPUT_POLLDEV is not set |
519 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
462 | 520 | ||
463 | # | 521 | # |
464 | # Userland interfaces | 522 | # Userland interfaces |
@@ -508,6 +566,7 @@ CONFIG_SERIAL_AMBA_PL011=y | |||
508 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | 566 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y |
509 | CONFIG_SERIAL_CORE=y | 567 | CONFIG_SERIAL_CORE=y |
510 | CONFIG_SERIAL_CORE_CONSOLE=y | 568 | CONFIG_SERIAL_CORE_CONSOLE=y |
569 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
511 | CONFIG_UNIX98_PTYS=y | 570 | CONFIG_UNIX98_PTYS=y |
512 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 571 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
513 | CONFIG_LEGACY_PTYS=y | 572 | CONFIG_LEGACY_PTYS=y |
@@ -519,13 +578,17 @@ CONFIG_LEGACY_PTY_COUNT=64 | |||
519 | # CONFIG_TCG_TPM is not set | 578 | # CONFIG_TCG_TPM is not set |
520 | # CONFIG_I2C is not set | 579 | # CONFIG_I2C is not set |
521 | # CONFIG_SPI is not set | 580 | # CONFIG_SPI is not set |
581 | |||
582 | # | ||
583 | # PPS support | ||
584 | # | ||
585 | # CONFIG_PPS is not set | ||
522 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 586 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
523 | # CONFIG_GPIOLIB is not set | 587 | # CONFIG_GPIOLIB is not set |
524 | # CONFIG_W1 is not set | 588 | # CONFIG_W1 is not set |
525 | # CONFIG_POWER_SUPPLY is not set | 589 | # CONFIG_POWER_SUPPLY is not set |
526 | # CONFIG_HWMON is not set | 590 | # CONFIG_HWMON is not set |
527 | # CONFIG_THERMAL is not set | 591 | # CONFIG_THERMAL is not set |
528 | # CONFIG_THERMAL_HWMON is not set | ||
529 | # CONFIG_WATCHDOG is not set | 592 | # CONFIG_WATCHDOG is not set |
530 | CONFIG_SSB_POSSIBLE=y | 593 | CONFIG_SSB_POSSIBLE=y |
531 | 594 | ||
@@ -541,6 +604,7 @@ CONFIG_SSB_POSSIBLE=y | |||
541 | # CONFIG_MFD_SM501 is not set | 604 | # CONFIG_MFD_SM501 is not set |
542 | # CONFIG_HTC_PASIC3 is not set | 605 | # CONFIG_HTC_PASIC3 is not set |
543 | # CONFIG_MFD_TMIO is not set | 606 | # CONFIG_MFD_TMIO is not set |
607 | # CONFIG_REGULATOR is not set | ||
544 | # CONFIG_MEDIA_SUPPORT is not set | 608 | # CONFIG_MEDIA_SUPPORT is not set |
545 | 609 | ||
546 | # | 610 | # |
@@ -566,14 +630,17 @@ CONFIG_DUMMY_CONSOLE=y | |||
566 | # CONFIG_USB_SUPPORT is not set | 630 | # CONFIG_USB_SUPPORT is not set |
567 | # CONFIG_MMC is not set | 631 | # CONFIG_MMC is not set |
568 | # CONFIG_MEMSTICK is not set | 632 | # CONFIG_MEMSTICK is not set |
569 | # CONFIG_ACCESSIBILITY is not set | ||
570 | # CONFIG_NEW_LEDS is not set | 633 | # CONFIG_NEW_LEDS is not set |
634 | # CONFIG_ACCESSIBILITY is not set | ||
571 | CONFIG_RTC_LIB=y | 635 | CONFIG_RTC_LIB=y |
572 | # CONFIG_RTC_CLASS is not set | 636 | # CONFIG_RTC_CLASS is not set |
573 | # CONFIG_DMADEVICES is not set | 637 | # CONFIG_DMADEVICES is not set |
574 | # CONFIG_AUXDISPLAY is not set | 638 | # CONFIG_AUXDISPLAY is not set |
575 | # CONFIG_REGULATOR is not set | ||
576 | # CONFIG_UIO is not set | 639 | # CONFIG_UIO is not set |
640 | |||
641 | # | ||
642 | # TI VLYNQ | ||
643 | # | ||
577 | # CONFIG_STAGING is not set | 644 | # CONFIG_STAGING is not set |
578 | 645 | ||
579 | # | 646 | # |
@@ -589,9 +656,12 @@ CONFIG_FS_POSIX_ACL=y | |||
589 | # CONFIG_GFS2_FS is not set | 656 | # CONFIG_GFS2_FS is not set |
590 | # CONFIG_OCFS2_FS is not set | 657 | # CONFIG_OCFS2_FS is not set |
591 | # CONFIG_BTRFS_FS is not set | 658 | # CONFIG_BTRFS_FS is not set |
659 | # CONFIG_NILFS2_FS is not set | ||
592 | # CONFIG_FILE_LOCKING is not set | 660 | # CONFIG_FILE_LOCKING is not set |
593 | # CONFIG_FSNOTIFY is not set | 661 | # CONFIG_FSNOTIFY is not set |
662 | # CONFIG_DNOTIFY is not set | ||
594 | # CONFIG_INOTIFY is not set | 663 | # CONFIG_INOTIFY is not set |
664 | # CONFIG_INOTIFY_USER is not set | ||
595 | # CONFIG_QUOTA is not set | 665 | # CONFIG_QUOTA is not set |
596 | # CONFIG_AUTOFS_FS is not set | 666 | # CONFIG_AUTOFS_FS is not set |
597 | # CONFIG_AUTOFS4_FS is not set | 667 | # CONFIG_AUTOFS4_FS is not set |
@@ -647,6 +717,7 @@ CONFIG_JFFS2_ZLIB=y | |||
647 | # CONFIG_JFFS2_LZO is not set | 717 | # CONFIG_JFFS2_LZO is not set |
648 | CONFIG_JFFS2_RTIME=y | 718 | CONFIG_JFFS2_RTIME=y |
649 | # CONFIG_JFFS2_RUBIN is not set | 719 | # CONFIG_JFFS2_RUBIN is not set |
720 | # CONFIG_LOGFS is not set | ||
650 | # CONFIG_CRAMFS is not set | 721 | # CONFIG_CRAMFS is not set |
651 | # CONFIG_SQUASHFS is not set | 722 | # CONFIG_SQUASHFS is not set |
652 | # CONFIG_VXFS_FS is not set | 723 | # CONFIG_VXFS_FS is not set |
@@ -657,7 +728,6 @@ CONFIG_JFFS2_RTIME=y | |||
657 | # CONFIG_ROMFS_FS is not set | 728 | # CONFIG_ROMFS_FS is not set |
658 | # CONFIG_SYSV_FS is not set | 729 | # CONFIG_SYSV_FS is not set |
659 | # CONFIG_UFS_FS is not set | 730 | # CONFIG_UFS_FS is not set |
660 | # CONFIG_NILFS2_FS is not set | ||
661 | # CONFIG_NETWORK_FILESYSTEMS is not set | 731 | # CONFIG_NETWORK_FILESYSTEMS is not set |
662 | 732 | ||
663 | # | 733 | # |
@@ -675,11 +745,12 @@ CONFIG_MSDOS_PARTITION=y | |||
675 | CONFIG_ENABLE_MUST_CHECK=y | 745 | CONFIG_ENABLE_MUST_CHECK=y |
676 | CONFIG_FRAME_WARN=1024 | 746 | CONFIG_FRAME_WARN=1024 |
677 | CONFIG_MAGIC_SYSRQ=y | 747 | CONFIG_MAGIC_SYSRQ=y |
748 | # CONFIG_STRIP_ASM_SYMS is not set | ||
678 | # CONFIG_UNUSED_SYMBOLS is not set | 749 | # CONFIG_UNUSED_SYMBOLS is not set |
679 | # CONFIG_DEBUG_FS is not set | 750 | # CONFIG_DEBUG_FS is not set |
680 | CONFIG_HEADERS_CHECK=y | 751 | CONFIG_HEADERS_CHECK=y |
681 | # CONFIG_DEBUG_KERNEL is not set | 752 | # CONFIG_DEBUG_KERNEL is not set |
682 | # CONFIG_DEBUG_BUGVERBOSE is not set | 753 | CONFIG_DEBUG_BUGVERBOSE=y |
683 | # CONFIG_DEBUG_MEMORY_INIT is not set | 754 | # CONFIG_DEBUG_MEMORY_INIT is not set |
684 | CONFIG_FRAME_POINTER=y | 755 | CONFIG_FRAME_POINTER=y |
685 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 756 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
@@ -693,6 +764,7 @@ CONFIG_TRACING_SUPPORT=y | |||
693 | CONFIG_HAVE_ARCH_KGDB=y | 764 | CONFIG_HAVE_ARCH_KGDB=y |
694 | # CONFIG_ARM_UNWIND is not set | 765 | # CONFIG_ARM_UNWIND is not set |
695 | # CONFIG_DEBUG_USER is not set | 766 | # CONFIG_DEBUG_USER is not set |
767 | # CONFIG_OC_ETM is not set | ||
696 | 768 | ||
697 | # | 769 | # |
698 | # Security options | 770 | # Security options |
@@ -700,7 +772,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
700 | # CONFIG_KEYS is not set | 772 | # CONFIG_KEYS is not set |
701 | # CONFIG_SECURITY is not set | 773 | # CONFIG_SECURITY is not set |
702 | # CONFIG_SECURITYFS is not set | 774 | # CONFIG_SECURITYFS is not set |
703 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 775 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
776 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
777 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
778 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
779 | CONFIG_DEFAULT_SECURITY="" | ||
704 | # CONFIG_CRYPTO is not set | 780 | # CONFIG_CRYPTO is not set |
705 | # CONFIG_BINARY_PRINTF is not set | 781 | # CONFIG_BINARY_PRINTF is not set |
706 | 782 | ||
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h index 00f46d9ce299..6e8f05c8a1c8 100644 --- a/arch/arm/include/asm/assembler.h +++ b/arch/arm/include/asm/assembler.h | |||
@@ -149,10 +149,10 @@ | |||
149 | 149 | ||
150 | #define USER(x...) \ | 150 | #define USER(x...) \ |
151 | 9999: x; \ | 151 | 9999: x; \ |
152 | .section __ex_table,"a"; \ | 152 | .pushsection __ex_table,"a"; \ |
153 | .align 3; \ | 153 | .align 3; \ |
154 | .long 9999b,9001f; \ | 154 | .long 9999b,9001f; \ |
155 | .previous | 155 | .popsection |
156 | 156 | ||
157 | /* | 157 | /* |
158 | * SMP data memory barrier | 158 | * SMP data memory barrier |
@@ -193,10 +193,10 @@ | |||
193 | .error "Unsupported inc macro argument" | 193 | .error "Unsupported inc macro argument" |
194 | .endif | 194 | .endif |
195 | 195 | ||
196 | .section __ex_table,"a" | 196 | .pushsection __ex_table,"a" |
197 | .align 3 | 197 | .align 3 |
198 | .long 9999b, \abort | 198 | .long 9999b, \abort |
199 | .previous | 199 | .popsection |
200 | .endm | 200 | .endm |
201 | 201 | ||
202 | .macro usracc, instr, reg, ptr, inc, cond, rept, abort | 202 | .macro usracc, instr, reg, ptr, inc, cond, rept, abort |
@@ -234,10 +234,10 @@ | |||
234 | .error "Unsupported inc macro argument" | 234 | .error "Unsupported inc macro argument" |
235 | .endif | 235 | .endif |
236 | 236 | ||
237 | .section __ex_table,"a" | 237 | .pushsection __ex_table,"a" |
238 | .align 3 | 238 | .align 3 |
239 | .long 9999b, \abort | 239 | .long 9999b, \abort |
240 | .previous | 240 | .popsection |
241 | .endr | 241 | .endr |
242 | .endm | 242 | .endm |
243 | 243 | ||
diff --git a/arch/arm/include/asm/futex.h b/arch/arm/include/asm/futex.h index bfcc15929a7f..540a044153a5 100644 --- a/arch/arm/include/asm/futex.h +++ b/arch/arm/include/asm/futex.h | |||
@@ -21,14 +21,14 @@ | |||
21 | "2: strt %0, [%2]\n" \ | 21 | "2: strt %0, [%2]\n" \ |
22 | " mov %0, #0\n" \ | 22 | " mov %0, #0\n" \ |
23 | "3:\n" \ | 23 | "3:\n" \ |
24 | " .section __ex_table,\"a\"\n" \ | 24 | " .pushsection __ex_table,\"a\"\n" \ |
25 | " .align 3\n" \ | 25 | " .align 3\n" \ |
26 | " .long 1b, 4f, 2b, 4f\n" \ | 26 | " .long 1b, 4f, 2b, 4f\n" \ |
27 | " .previous\n" \ | 27 | " .popsection\n" \ |
28 | " .section .fixup,\"ax\"\n" \ | 28 | " .pushsection .fixup,\"ax\"\n" \ |
29 | "4: mov %0, %4\n" \ | 29 | "4: mov %0, %4\n" \ |
30 | " b 3b\n" \ | 30 | " b 3b\n" \ |
31 | " .previous" \ | 31 | " .popsection" \ |
32 | : "=&r" (ret), "=&r" (oldval) \ | 32 | : "=&r" (ret), "=&r" (oldval) \ |
33 | : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ | 33 | : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ |
34 | : "cc", "memory") | 34 | : "cc", "memory") |
@@ -102,14 +102,14 @@ futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) | |||
102 | " it eq @ explicit IT needed for the 2b label\n" | 102 | " it eq @ explicit IT needed for the 2b label\n" |
103 | "2: streqt %2, [%3]\n" | 103 | "2: streqt %2, [%3]\n" |
104 | "3:\n" | 104 | "3:\n" |
105 | " .section __ex_table,\"a\"\n" | 105 | " .pushsection __ex_table,\"a\"\n" |
106 | " .align 3\n" | 106 | " .align 3\n" |
107 | " .long 1b, 4f, 2b, 4f\n" | 107 | " .long 1b, 4f, 2b, 4f\n" |
108 | " .previous\n" | 108 | " .popsection\n" |
109 | " .section .fixup,\"ax\"\n" | 109 | " .pushsection .fixup,\"ax\"\n" |
110 | "4: mov %0, %4\n" | 110 | "4: mov %0, %4\n" |
111 | " b 3b\n" | 111 | " b 3b\n" |
112 | " .previous" | 112 | " .popsection" |
113 | : "=&r" (val) | 113 | : "=&r" (val) |
114 | : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) | 114 | : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) |
115 | : "cc", "memory"); | 115 | : "cc", "memory"); |
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h index 1d6bd40a4322..33e4a48fe103 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h | |||
@@ -229,16 +229,16 @@ do { \ | |||
229 | __asm__ __volatile__( \ | 229 | __asm__ __volatile__( \ |
230 | "1: ldrbt %1,[%2]\n" \ | 230 | "1: ldrbt %1,[%2]\n" \ |
231 | "2:\n" \ | 231 | "2:\n" \ |
232 | " .section .fixup,\"ax\"\n" \ | 232 | " .pushsection .fixup,\"ax\"\n" \ |
233 | " .align 2\n" \ | 233 | " .align 2\n" \ |
234 | "3: mov %0, %3\n" \ | 234 | "3: mov %0, %3\n" \ |
235 | " mov %1, #0\n" \ | 235 | " mov %1, #0\n" \ |
236 | " b 2b\n" \ | 236 | " b 2b\n" \ |
237 | " .previous\n" \ | 237 | " .popsection\n" \ |
238 | " .section __ex_table,\"a\"\n" \ | 238 | " .pushsection __ex_table,\"a\"\n" \ |
239 | " .align 3\n" \ | 239 | " .align 3\n" \ |
240 | " .long 1b, 3b\n" \ | 240 | " .long 1b, 3b\n" \ |
241 | " .previous" \ | 241 | " .popsection" \ |
242 | : "+r" (err), "=&r" (x) \ | 242 | : "+r" (err), "=&r" (x) \ |
243 | : "r" (addr), "i" (-EFAULT) \ | 243 | : "r" (addr), "i" (-EFAULT) \ |
244 | : "cc") | 244 | : "cc") |
@@ -265,16 +265,16 @@ do { \ | |||
265 | __asm__ __volatile__( \ | 265 | __asm__ __volatile__( \ |
266 | "1: ldrt %1,[%2]\n" \ | 266 | "1: ldrt %1,[%2]\n" \ |
267 | "2:\n" \ | 267 | "2:\n" \ |
268 | " .section .fixup,\"ax\"\n" \ | 268 | " .pushsection .fixup,\"ax\"\n" \ |
269 | " .align 2\n" \ | 269 | " .align 2\n" \ |
270 | "3: mov %0, %3\n" \ | 270 | "3: mov %0, %3\n" \ |
271 | " mov %1, #0\n" \ | 271 | " mov %1, #0\n" \ |
272 | " b 2b\n" \ | 272 | " b 2b\n" \ |
273 | " .previous\n" \ | 273 | " .popsection\n" \ |
274 | " .section __ex_table,\"a\"\n" \ | 274 | " .pushsection __ex_table,\"a\"\n" \ |
275 | " .align 3\n" \ | 275 | " .align 3\n" \ |
276 | " .long 1b, 3b\n" \ | 276 | " .long 1b, 3b\n" \ |
277 | " .previous" \ | 277 | " .popsection" \ |
278 | : "+r" (err), "=&r" (x) \ | 278 | : "+r" (err), "=&r" (x) \ |
279 | : "r" (addr), "i" (-EFAULT) \ | 279 | : "r" (addr), "i" (-EFAULT) \ |
280 | : "cc") | 280 | : "cc") |
@@ -310,15 +310,15 @@ do { \ | |||
310 | __asm__ __volatile__( \ | 310 | __asm__ __volatile__( \ |
311 | "1: strbt %1,[%2]\n" \ | 311 | "1: strbt %1,[%2]\n" \ |
312 | "2:\n" \ | 312 | "2:\n" \ |
313 | " .section .fixup,\"ax\"\n" \ | 313 | " .pushsection .fixup,\"ax\"\n" \ |
314 | " .align 2\n" \ | 314 | " .align 2\n" \ |
315 | "3: mov %0, %3\n" \ | 315 | "3: mov %0, %3\n" \ |
316 | " b 2b\n" \ | 316 | " b 2b\n" \ |
317 | " .previous\n" \ | 317 | " .popsection\n" \ |
318 | " .section __ex_table,\"a\"\n" \ | 318 | " .pushsection __ex_table,\"a\"\n" \ |
319 | " .align 3\n" \ | 319 | " .align 3\n" \ |
320 | " .long 1b, 3b\n" \ | 320 | " .long 1b, 3b\n" \ |
321 | " .previous" \ | 321 | " .popsection" \ |
322 | : "+r" (err) \ | 322 | : "+r" (err) \ |
323 | : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \ | 323 | : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \ |
324 | : "cc") | 324 | : "cc") |
@@ -343,15 +343,15 @@ do { \ | |||
343 | __asm__ __volatile__( \ | 343 | __asm__ __volatile__( \ |
344 | "1: strt %1,[%2]\n" \ | 344 | "1: strt %1,[%2]\n" \ |
345 | "2:\n" \ | 345 | "2:\n" \ |
346 | " .section .fixup,\"ax\"\n" \ | 346 | " .pushsection .fixup,\"ax\"\n" \ |
347 | " .align 2\n" \ | 347 | " .align 2\n" \ |
348 | "3: mov %0, %3\n" \ | 348 | "3: mov %0, %3\n" \ |
349 | " b 2b\n" \ | 349 | " b 2b\n" \ |
350 | " .previous\n" \ | 350 | " .popsection\n" \ |
351 | " .section __ex_table,\"a\"\n" \ | 351 | " .pushsection __ex_table,\"a\"\n" \ |
352 | " .align 3\n" \ | 352 | " .align 3\n" \ |
353 | " .long 1b, 3b\n" \ | 353 | " .long 1b, 3b\n" \ |
354 | " .previous" \ | 354 | " .popsection" \ |
355 | : "+r" (err) \ | 355 | : "+r" (err) \ |
356 | : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \ | 356 | : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \ |
357 | : "cc") | 357 | : "cc") |
@@ -371,16 +371,16 @@ do { \ | |||
371 | THUMB( "1: strt " __reg_oper1 ", [%1]\n" ) \ | 371 | THUMB( "1: strt " __reg_oper1 ", [%1]\n" ) \ |
372 | THUMB( "2: strt " __reg_oper0 ", [%1, #4]\n" ) \ | 372 | THUMB( "2: strt " __reg_oper0 ", [%1, #4]\n" ) \ |
373 | "3:\n" \ | 373 | "3:\n" \ |
374 | " .section .fixup,\"ax\"\n" \ | 374 | " .pushsection .fixup,\"ax\"\n" \ |
375 | " .align 2\n" \ | 375 | " .align 2\n" \ |
376 | "4: mov %0, %3\n" \ | 376 | "4: mov %0, %3\n" \ |
377 | " b 3b\n" \ | 377 | " b 3b\n" \ |
378 | " .previous\n" \ | 378 | " .popsection\n" \ |
379 | " .section __ex_table,\"a\"\n" \ | 379 | " .pushsection __ex_table,\"a\"\n" \ |
380 | " .align 3\n" \ | 380 | " .align 3\n" \ |
381 | " .long 1b, 4b\n" \ | 381 | " .long 1b, 4b\n" \ |
382 | " .long 2b, 4b\n" \ | 382 | " .long 2b, 4b\n" \ |
383 | " .previous" \ | 383 | " .popsection" \ |
384 | : "+r" (err), "+r" (__pu_addr) \ | 384 | : "+r" (err), "+r" (__pu_addr) \ |
385 | : "r" (x), "i" (-EFAULT) \ | 385 | : "r" (x), "i" (-EFAULT) \ |
386 | : "cc") | 386 | : "cc") |
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 6c5cf369183b..e6a0fb0f392e 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -523,16 +523,16 @@ ENDPROC(__und_usr) | |||
523 | /* | 523 | /* |
524 | * The out of line fixup for the ldrt above. | 524 | * The out of line fixup for the ldrt above. |
525 | */ | 525 | */ |
526 | .section .fixup, "ax" | 526 | .pushsection .fixup, "ax" |
527 | 4: mov pc, r9 | 527 | 4: mov pc, r9 |
528 | .previous | 528 | .popsection |
529 | .section __ex_table,"a" | 529 | .pushsection __ex_table,"a" |
530 | .long 1b, 4b | 530 | .long 1b, 4b |
531 | #if __LINUX_ARM_ARCH__ >= 7 | 531 | #if __LINUX_ARM_ARCH__ >= 7 |
532 | .long 2b, 4b | 532 | .long 2b, 4b |
533 | .long 3b, 4b | 533 | .long 3b, 4b |
534 | #endif | 534 | #endif |
535 | .previous | 535 | .popsection |
536 | 536 | ||
537 | /* | 537 | /* |
538 | * Check whether the instruction is a co-processor instruction. | 538 | * Check whether the instruction is a co-processor instruction. |
@@ -679,7 +679,7 @@ do_fpe: | |||
679 | .data | 679 | .data |
680 | ENTRY(fp_enter) | 680 | ENTRY(fp_enter) |
681 | .word no_fp | 681 | .word no_fp |
682 | .previous | 682 | .text |
683 | 683 | ||
684 | ENTRY(no_fp) | 684 | ENTRY(no_fp) |
685 | mov pc, lr | 685 | mov pc, lr |
diff --git a/arch/arm/kernel/ftrace.c b/arch/arm/kernel/ftrace.c index c63842766229..0298286ad4ad 100644 --- a/arch/arm/kernel/ftrace.c +++ b/arch/arm/kernel/ftrace.c | |||
@@ -62,15 +62,15 @@ int ftrace_modify_code(unsigned long pc, unsigned char *old_code, | |||
62 | " movne %0, #2 \n" | 62 | " movne %0, #2 \n" |
63 | "3:\n" | 63 | "3:\n" |
64 | 64 | ||
65 | ".section .fixup, \"ax\"\n" | 65 | ".pushsection .fixup, \"ax\"\n" |
66 | "4: mov %0, #1 \n" | 66 | "4: mov %0, #1 \n" |
67 | " b 3b \n" | 67 | " b 3b \n" |
68 | ".previous\n" | 68 | ".popsection\n" |
69 | 69 | ||
70 | ".section __ex_table, \"a\"\n" | 70 | ".pushsection __ex_table, \"a\"\n" |
71 | " .long 1b, 4b \n" | 71 | " .long 1b, 4b \n" |
72 | " .long 2b, 4b \n" | 72 | " .long 2b, 4b \n" |
73 | ".previous\n" | 73 | ".popsection\n" |
74 | 74 | ||
75 | : "=r"(err), "=r"(replaced) | 75 | : "=r"(err), "=r"(replaced) |
76 | : "r"(pc), "r"(new), "r"(old), "0"(err), "1"(replaced) | 76 | : "r"(pc), "r"(new), "r"(old), "0"(err), "1"(replaced) |
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 0e12e0acbf26..acf5e6fdb6dc 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -355,7 +355,7 @@ EXPORT_SYMBOL(dump_fpu); | |||
355 | * the thread function, and r3 points to the exit function. | 355 | * the thread function, and r3 points to the exit function. |
356 | */ | 356 | */ |
357 | extern void kernel_thread_helper(void); | 357 | extern void kernel_thread_helper(void); |
358 | asm( ".section .text\n" | 358 | asm( ".pushsection .text\n" |
359 | " .align\n" | 359 | " .align\n" |
360 | " .type kernel_thread_helper, #function\n" | 360 | " .type kernel_thread_helper, #function\n" |
361 | "kernel_thread_helper:\n" | 361 | "kernel_thread_helper:\n" |
@@ -363,11 +363,11 @@ asm( ".section .text\n" | |||
363 | " mov lr, r3\n" | 363 | " mov lr, r3\n" |
364 | " mov pc, r2\n" | 364 | " mov pc, r2\n" |
365 | " .size kernel_thread_helper, . - kernel_thread_helper\n" | 365 | " .size kernel_thread_helper, . - kernel_thread_helper\n" |
366 | " .previous"); | 366 | " .popsection"); |
367 | 367 | ||
368 | #ifdef CONFIG_ARM_UNWIND | 368 | #ifdef CONFIG_ARM_UNWIND |
369 | extern void kernel_thread_exit(long code); | 369 | extern void kernel_thread_exit(long code); |
370 | asm( ".section .text\n" | 370 | asm( ".pushsection .text\n" |
371 | " .align\n" | 371 | " .align\n" |
372 | " .type kernel_thread_exit, #function\n" | 372 | " .type kernel_thread_exit, #function\n" |
373 | "kernel_thread_exit:\n" | 373 | "kernel_thread_exit:\n" |
@@ -377,7 +377,7 @@ asm( ".section .text\n" | |||
377 | " nop\n" | 377 | " nop\n" |
378 | " .fnend\n" | 378 | " .fnend\n" |
379 | " .size kernel_thread_exit, . - kernel_thread_exit\n" | 379 | " .size kernel_thread_exit, . - kernel_thread_exit\n" |
380 | " .previous"); | 380 | " .popsection"); |
381 | #else | 381 | #else |
382 | #define kernel_thread_exit do_exit | 382 | #define kernel_thread_exit do_exit |
383 | #endif | 383 | #endif |
diff --git a/arch/arm/lib/backtrace.S b/arch/arm/lib/backtrace.S index aaf7220d9e30..a673297b0cf1 100644 --- a/arch/arm/lib/backtrace.S +++ b/arch/arm/lib/backtrace.S | |||
@@ -110,13 +110,13 @@ no_frame: ldmfd sp!, {r4 - r8, pc} | |||
110 | ENDPROC(__backtrace) | 110 | ENDPROC(__backtrace) |
111 | ENDPROC(c_backtrace) | 111 | ENDPROC(c_backtrace) |
112 | 112 | ||
113 | .section __ex_table,"a" | 113 | .pushsection __ex_table,"a" |
114 | .align 3 | 114 | .align 3 |
115 | .long 1001b, 1006b | 115 | .long 1001b, 1006b |
116 | .long 1002b, 1006b | 116 | .long 1002b, 1006b |
117 | .long 1003b, 1006b | 117 | .long 1003b, 1006b |
118 | .long 1004b, 1006b | 118 | .long 1004b, 1006b |
119 | .previous | 119 | .popsection |
120 | 120 | ||
121 | #define instr r4 | 121 | #define instr r4 |
122 | #define reg r5 | 122 | #define reg r5 |
diff --git a/arch/arm/lib/clear_user.S b/arch/arm/lib/clear_user.S index 1279abd8b886..5e3f99620c04 100644 --- a/arch/arm/lib/clear_user.S +++ b/arch/arm/lib/clear_user.S | |||
@@ -46,8 +46,8 @@ USER( strnebt r2, [r0]) | |||
46 | ldmfd sp!, {r1, pc} | 46 | ldmfd sp!, {r1, pc} |
47 | ENDPROC(__clear_user) | 47 | ENDPROC(__clear_user) |
48 | 48 | ||
49 | .section .fixup,"ax" | 49 | .pushsection .fixup,"ax" |
50 | .align 0 | 50 | .align 0 |
51 | 9001: ldmfd sp!, {r0, pc} | 51 | 9001: ldmfd sp!, {r0, pc} |
52 | .previous | 52 | .popsection |
53 | 53 | ||
diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S index e4fe124acedc..66a477a3e3cc 100644 --- a/arch/arm/lib/copy_from_user.S +++ b/arch/arm/lib/copy_from_user.S | |||
@@ -90,7 +90,7 @@ ENTRY(__copy_from_user) | |||
90 | 90 | ||
91 | ENDPROC(__copy_from_user) | 91 | ENDPROC(__copy_from_user) |
92 | 92 | ||
93 | .section .fixup,"ax" | 93 | .pushsection .fixup,"ax" |
94 | .align 0 | 94 | .align 0 |
95 | copy_abort_preamble | 95 | copy_abort_preamble |
96 | ldmfd sp!, {r1, r2} | 96 | ldmfd sp!, {r1, r2} |
@@ -100,5 +100,5 @@ ENDPROC(__copy_from_user) | |||
100 | bl __memzero | 100 | bl __memzero |
101 | ldr r0, [sp], #4 | 101 | ldr r0, [sp], #4 |
102 | copy_abort_end | 102 | copy_abort_end |
103 | .previous | 103 | .popsection |
104 | 104 | ||
diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S index 1a71e1584442..027b69bdbad1 100644 --- a/arch/arm/lib/copy_to_user.S +++ b/arch/arm/lib/copy_to_user.S | |||
@@ -94,12 +94,12 @@ WEAK(__copy_to_user) | |||
94 | 94 | ||
95 | ENDPROC(__copy_to_user) | 95 | ENDPROC(__copy_to_user) |
96 | 96 | ||
97 | .section .fixup,"ax" | 97 | .pushsection .fixup,"ax" |
98 | .align 0 | 98 | .align 0 |
99 | copy_abort_preamble | 99 | copy_abort_preamble |
100 | ldmfd sp!, {r1, r2, r3} | 100 | ldmfd sp!, {r1, r2, r3} |
101 | sub r0, r0, r1 | 101 | sub r0, r0, r1 |
102 | rsb r0, r0, r2 | 102 | rsb r0, r0, r2 |
103 | copy_abort_end | 103 | copy_abort_end |
104 | .previous | 104 | .popsection |
105 | 105 | ||
diff --git a/arch/arm/lib/csumpartialcopyuser.S b/arch/arm/lib/csumpartialcopyuser.S index fd0e9dcd9fdc..59ff6fdc1e63 100644 --- a/arch/arm/lib/csumpartialcopyuser.S +++ b/arch/arm/lib/csumpartialcopyuser.S | |||
@@ -68,7 +68,7 @@ | |||
68 | * so properly, we would have to add in whatever registers were loaded before | 68 | * so properly, we would have to add in whatever registers were loaded before |
69 | * the fault, which, with the current asm above is not predictable. | 69 | * the fault, which, with the current asm above is not predictable. |
70 | */ | 70 | */ |
71 | .section .fixup,"ax" | 71 | .pushsection .fixup,"ax" |
72 | .align 4 | 72 | .align 4 |
73 | 9001: mov r4, #-EFAULT | 73 | 9001: mov r4, #-EFAULT |
74 | ldr r5, [fp, #4] @ *err_ptr | 74 | ldr r5, [fp, #4] @ *err_ptr |
@@ -80,4 +80,4 @@ | |||
80 | strneb r0, [r1], #1 | 80 | strneb r0, [r1], #1 |
81 | bne 9002b | 81 | bne 9002b |
82 | load_regs | 82 | load_regs |
83 | .previous | 83 | .popsection |
diff --git a/arch/arm/lib/getuser.S b/arch/arm/lib/getuser.S index a1814d927122..b1631a7dbe75 100644 --- a/arch/arm/lib/getuser.S +++ b/arch/arm/lib/getuser.S | |||
@@ -64,9 +64,9 @@ __get_user_bad: | |||
64 | mov pc, lr | 64 | mov pc, lr |
65 | ENDPROC(__get_user_bad) | 65 | ENDPROC(__get_user_bad) |
66 | 66 | ||
67 | .section __ex_table, "a" | 67 | .pushsection __ex_table, "a" |
68 | .long 1b, __get_user_bad | 68 | .long 1b, __get_user_bad |
69 | .long 2b, __get_user_bad | 69 | .long 2b, __get_user_bad |
70 | .long 3b, __get_user_bad | 70 | .long 3b, __get_user_bad |
71 | .long 4b, __get_user_bad | 71 | .long 4b, __get_user_bad |
72 | .previous | 72 | .popsection |
diff --git a/arch/arm/lib/putuser.S b/arch/arm/lib/putuser.S index 02fedbf07c0d..5a01a23c6c06 100644 --- a/arch/arm/lib/putuser.S +++ b/arch/arm/lib/putuser.S | |||
@@ -81,11 +81,11 @@ __put_user_bad: | |||
81 | mov pc, lr | 81 | mov pc, lr |
82 | ENDPROC(__put_user_bad) | 82 | ENDPROC(__put_user_bad) |
83 | 83 | ||
84 | .section __ex_table, "a" | 84 | .pushsection __ex_table, "a" |
85 | .long 1b, __put_user_bad | 85 | .long 1b, __put_user_bad |
86 | .long 2b, __put_user_bad | 86 | .long 2b, __put_user_bad |
87 | .long 3b, __put_user_bad | 87 | .long 3b, __put_user_bad |
88 | .long 4b, __put_user_bad | 88 | .long 4b, __put_user_bad |
89 | .long 5b, __put_user_bad | 89 | .long 5b, __put_user_bad |
90 | .long 6b, __put_user_bad | 90 | .long 6b, __put_user_bad |
91 | .previous | 91 | .popsection |
diff --git a/arch/arm/lib/strncpy_from_user.S b/arch/arm/lib/strncpy_from_user.S index 1c9814f346c6..f202d7bd1647 100644 --- a/arch/arm/lib/strncpy_from_user.S +++ b/arch/arm/lib/strncpy_from_user.S | |||
@@ -33,11 +33,11 @@ ENTRY(__strncpy_from_user) | |||
33 | mov pc, lr | 33 | mov pc, lr |
34 | ENDPROC(__strncpy_from_user) | 34 | ENDPROC(__strncpy_from_user) |
35 | 35 | ||
36 | .section .fixup,"ax" | 36 | .pushsection .fixup,"ax" |
37 | .align 0 | 37 | .align 0 |
38 | 9001: mov r3, #0 | 38 | 9001: mov r3, #0 |
39 | strb r3, [r0, #0] @ null terminate | 39 | strb r3, [r0, #0] @ null terminate |
40 | mov r0, #-EFAULT | 40 | mov r0, #-EFAULT |
41 | mov pc, lr | 41 | mov pc, lr |
42 | .previous | 42 | .popsection |
43 | 43 | ||
diff --git a/arch/arm/lib/strnlen_user.S b/arch/arm/lib/strnlen_user.S index 7855b2906659..0ecbb459c4f1 100644 --- a/arch/arm/lib/strnlen_user.S +++ b/arch/arm/lib/strnlen_user.S | |||
@@ -33,8 +33,8 @@ ENTRY(__strnlen_user) | |||
33 | mov pc, lr | 33 | mov pc, lr |
34 | ENDPROC(__strnlen_user) | 34 | ENDPROC(__strnlen_user) |
35 | 35 | ||
36 | .section .fixup,"ax" | 36 | .pushsection .fixup,"ax" |
37 | .align 0 | 37 | .align 0 |
38 | 9001: mov r0, #0 | 38 | 9001: mov r0, #0 |
39 | mov pc, lr | 39 | mov pc, lr |
40 | .previous | 40 | .popsection |
diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S index ffdd27498cee..fee9f6f88adb 100644 --- a/arch/arm/lib/uaccess.S +++ b/arch/arm/lib/uaccess.S | |||
@@ -279,10 +279,10 @@ USER( strgtbt r3, [r0], #1) @ May fault | |||
279 | b .Lc2u_finished | 279 | b .Lc2u_finished |
280 | ENDPROC(__copy_to_user) | 280 | ENDPROC(__copy_to_user) |
281 | 281 | ||
282 | .section .fixup,"ax" | 282 | .pushsection .fixup,"ax" |
283 | .align 0 | 283 | .align 0 |
284 | 9001: ldmfd sp!, {r0, r4 - r7, pc} | 284 | 9001: ldmfd sp!, {r0, r4 - r7, pc} |
285 | .previous | 285 | .popsection |
286 | 286 | ||
287 | /* Prototype: unsigned long __copy_from_user(void *to,const void *from,unsigned long n); | 287 | /* Prototype: unsigned long __copy_from_user(void *to,const void *from,unsigned long n); |
288 | * Purpose : copy a block from user memory to kernel memory | 288 | * Purpose : copy a block from user memory to kernel memory |
@@ -545,7 +545,7 @@ USER( ldrgtbt r3, [r1], #1) @ May fault | |||
545 | b .Lcfu_finished | 545 | b .Lcfu_finished |
546 | ENDPROC(__copy_from_user) | 546 | ENDPROC(__copy_from_user) |
547 | 547 | ||
548 | .section .fixup,"ax" | 548 | .pushsection .fixup,"ax" |
549 | .align 0 | 549 | .align 0 |
550 | /* | 550 | /* |
551 | * We took an exception. r0 contains a pointer to | 551 | * We took an exception. r0 contains a pointer to |
@@ -559,5 +559,5 @@ ENDPROC(__copy_from_user) | |||
559 | blne __memzero | 559 | blne __memzero |
560 | mov r0, r4 | 560 | mov r0, r4 |
561 | ldmfd sp!, {r4 - r7, pc} | 561 | ldmfd sp!, {r4 - r7, pc} |
562 | .previous | 562 | .popsection |
563 | 563 | ||
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index f2dbce5f3cd4..d5a95738f85b 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c | |||
@@ -254,7 +254,7 @@ static unsigned int realview_mmc_status(struct device *dev) | |||
254 | else | 254 | else |
255 | mask = 2; | 255 | mask = 2; |
256 | 256 | ||
257 | return readl(REALVIEW_SYSMCI) & mask; | 257 | return !(readl(REALVIEW_SYSMCI) & mask); |
258 | } | 258 | } |
259 | 259 | ||
260 | struct mmci_platform_data realview_mmc0_plat_data = { | 260 | struct mmci_platform_data realview_mmc0_plat_data = { |
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c index edddd66faac6..a2ab51fa73e2 100644 --- a/arch/arm/mm/alignment.c +++ b/arch/arm/mm/alignment.c | |||
@@ -166,15 +166,15 @@ union offset_union { | |||
166 | THUMB( "1: "ins" %1, [%2]\n" ) \ | 166 | THUMB( "1: "ins" %1, [%2]\n" ) \ |
167 | THUMB( " add %2, %2, #1\n" ) \ | 167 | THUMB( " add %2, %2, #1\n" ) \ |
168 | "2:\n" \ | 168 | "2:\n" \ |
169 | " .section .fixup,\"ax\"\n" \ | 169 | " .pushsection .fixup,\"ax\"\n" \ |
170 | " .align 2\n" \ | 170 | " .align 2\n" \ |
171 | "3: mov %0, #1\n" \ | 171 | "3: mov %0, #1\n" \ |
172 | " b 2b\n" \ | 172 | " b 2b\n" \ |
173 | " .previous\n" \ | 173 | " .popsection\n" \ |
174 | " .section __ex_table,\"a\"\n" \ | 174 | " .pushsection __ex_table,\"a\"\n" \ |
175 | " .align 3\n" \ | 175 | " .align 3\n" \ |
176 | " .long 1b, 3b\n" \ | 176 | " .long 1b, 3b\n" \ |
177 | " .previous\n" \ | 177 | " .popsection\n" \ |
178 | : "=r" (err), "=&r" (val), "=r" (addr) \ | 178 | : "=r" (err), "=&r" (val), "=r" (addr) \ |
179 | : "0" (err), "2" (addr)) | 179 | : "0" (err), "2" (addr)) |
180 | 180 | ||
@@ -226,16 +226,16 @@ union offset_union { | |||
226 | " mov %1, %1, "NEXT_BYTE"\n" \ | 226 | " mov %1, %1, "NEXT_BYTE"\n" \ |
227 | "2: "ins" %1, [%2]\n" \ | 227 | "2: "ins" %1, [%2]\n" \ |
228 | "3:\n" \ | 228 | "3:\n" \ |
229 | " .section .fixup,\"ax\"\n" \ | 229 | " .pushsection .fixup,\"ax\"\n" \ |
230 | " .align 2\n" \ | 230 | " .align 2\n" \ |
231 | "4: mov %0, #1\n" \ | 231 | "4: mov %0, #1\n" \ |
232 | " b 3b\n" \ | 232 | " b 3b\n" \ |
233 | " .previous\n" \ | 233 | " .popsection\n" \ |
234 | " .section __ex_table,\"a\"\n" \ | 234 | " .pushsection __ex_table,\"a\"\n" \ |
235 | " .align 3\n" \ | 235 | " .align 3\n" \ |
236 | " .long 1b, 4b\n" \ | 236 | " .long 1b, 4b\n" \ |
237 | " .long 2b, 4b\n" \ | 237 | " .long 2b, 4b\n" \ |
238 | " .previous\n" \ | 238 | " .popsection\n" \ |
239 | : "=r" (err), "=&r" (v), "=&r" (a) \ | 239 | : "=r" (err), "=&r" (v), "=&r" (a) \ |
240 | : "0" (err), "1" (v), "2" (a)); \ | 240 | : "0" (err), "1" (v), "2" (a)); \ |
241 | if (err) \ | 241 | if (err) \ |
@@ -266,18 +266,18 @@ union offset_union { | |||
266 | " mov %1, %1, "NEXT_BYTE"\n" \ | 266 | " mov %1, %1, "NEXT_BYTE"\n" \ |
267 | "4: "ins" %1, [%2]\n" \ | 267 | "4: "ins" %1, [%2]\n" \ |
268 | "5:\n" \ | 268 | "5:\n" \ |
269 | " .section .fixup,\"ax\"\n" \ | 269 | " .pushsection .fixup,\"ax\"\n" \ |
270 | " .align 2\n" \ | 270 | " .align 2\n" \ |
271 | "6: mov %0, #1\n" \ | 271 | "6: mov %0, #1\n" \ |
272 | " b 5b\n" \ | 272 | " b 5b\n" \ |
273 | " .previous\n" \ | 273 | " .popsection\n" \ |
274 | " .section __ex_table,\"a\"\n" \ | 274 | " .pushsection __ex_table,\"a\"\n" \ |
275 | " .align 3\n" \ | 275 | " .align 3\n" \ |
276 | " .long 1b, 6b\n" \ | 276 | " .long 1b, 6b\n" \ |
277 | " .long 2b, 6b\n" \ | 277 | " .long 2b, 6b\n" \ |
278 | " .long 3b, 6b\n" \ | 278 | " .long 3b, 6b\n" \ |
279 | " .long 4b, 6b\n" \ | 279 | " .long 4b, 6b\n" \ |
280 | " .previous\n" \ | 280 | " .popsection\n" \ |
281 | : "=r" (err), "=&r" (v), "=&r" (a) \ | 281 | : "=r" (err), "=&r" (v), "=&r" (a) \ |
282 | : "0" (err), "1" (v), "2" (a)); \ | 282 | : "0" (err), "1" (v), "2" (a)); \ |
283 | if (err) \ | 283 | if (err) \ |
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S index ee7700242c19..5c47760c2064 100644 --- a/arch/arm/mm/proc-sa1100.S +++ b/arch/arm/mm/proc-sa1100.S | |||
@@ -45,7 +45,7 @@ ENTRY(cpu_sa1100_proc_init) | |||
45 | mcr p15, 0, r0, c9, c0, 5 @ Allow read-buffer operations from userland | 45 | mcr p15, 0, r0, c9, c0, 5 @ Allow read-buffer operations from userland |
46 | mov pc, lr | 46 | mov pc, lr |
47 | 47 | ||
48 | .previous | 48 | .section .text |
49 | 49 | ||
50 | /* | 50 | /* |
51 | * cpu_sa1100_proc_fin() | 51 | * cpu_sa1100_proc_fin() |
diff --git a/arch/arm/nwfpe/entry.S b/arch/arm/nwfpe/entry.S index 48bca0db4607..cafa18354339 100644 --- a/arch/arm/nwfpe/entry.S +++ b/arch/arm/nwfpe/entry.S | |||
@@ -111,12 +111,12 @@ next: | |||
111 | @ to fault. Emit the appropriate exception gunk to fix things up. | 111 | @ to fault. Emit the appropriate exception gunk to fix things up. |
112 | @ ??? For some reason, faults can happen at .Lx2 even with a | 112 | @ ??? For some reason, faults can happen at .Lx2 even with a |
113 | @ plain LDR instruction. Weird, but it seems harmless. | 113 | @ plain LDR instruction. Weird, but it seems harmless. |
114 | .section .fixup,"ax" | 114 | .pushsection .fixup,"ax" |
115 | .align 2 | 115 | .align 2 |
116 | .Lfix: mov pc, r9 @ let the user eat segfaults | 116 | .Lfix: mov pc, r9 @ let the user eat segfaults |
117 | .previous | 117 | .popsection |
118 | 118 | ||
119 | .section __ex_table,"a" | 119 | .pushsection __ex_table,"a" |
120 | .align 3 | 120 | .align 3 |
121 | .long .Lx1, .Lfix | 121 | .long .Lx1, .Lfix |
122 | .previous | 122 | .popsection |
diff --git a/drivers/gpio/pl061.c b/drivers/gpio/pl061.c index 5ad8f778ced4..105701a1f05b 100644 --- a/drivers/gpio/pl061.c +++ b/drivers/gpio/pl061.c | |||
@@ -91,6 +91,12 @@ static int pl061_direction_output(struct gpio_chip *gc, unsigned offset, | |||
91 | gpiodir = readb(chip->base + GPIODIR); | 91 | gpiodir = readb(chip->base + GPIODIR); |
92 | gpiodir |= 1 << offset; | 92 | gpiodir |= 1 << offset; |
93 | writeb(gpiodir, chip->base + GPIODIR); | 93 | writeb(gpiodir, chip->base + GPIODIR); |
94 | |||
95 | /* | ||
96 | * gpio value is set again, because pl061 doesn't allow to set value of | ||
97 | * a gpio pin before configuring it in OUT mode. | ||
98 | */ | ||
99 | writeb(!!value << offset, chip->base + (1 << (offset + 2))); | ||
94 | spin_unlock_irqrestore(&chip->lock, flags); | 100 | spin_unlock_irqrestore(&chip->lock, flags); |
95 | 101 | ||
96 | return 0; | 102 | return 0; |
@@ -183,7 +189,7 @@ static int pl061_irq_type(unsigned irq, unsigned trigger) | |||
183 | gpioibe &= ~(1 << offset); | 189 | gpioibe &= ~(1 << offset); |
184 | if (trigger & IRQ_TYPE_EDGE_RISING) | 190 | if (trigger & IRQ_TYPE_EDGE_RISING) |
185 | gpioiev |= 1 << offset; | 191 | gpioiev |= 1 << offset; |
186 | else | 192 | else if (trigger & IRQ_TYPE_EDGE_FALLING) |
187 | gpioiev &= ~(1 << offset); | 193 | gpioiev &= ~(1 << offset); |
188 | } | 194 | } |
189 | writeb(gpioibe, chip->base + GPIOIBE); | 195 | writeb(gpioibe, chip->base + GPIOIBE); |
@@ -204,7 +210,7 @@ static struct irq_chip pl061_irqchip = { | |||
204 | 210 | ||
205 | static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) | 211 | static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) |
206 | { | 212 | { |
207 | struct list_head *chip_list = get_irq_chip_data(irq); | 213 | struct list_head *chip_list = get_irq_data(irq); |
208 | struct list_head *ptr; | 214 | struct list_head *ptr; |
209 | struct pl061_gpio *chip; | 215 | struct pl061_gpio *chip; |
210 | 216 | ||
@@ -297,9 +303,9 @@ static int __init pl061_probe(struct amba_device *dev, struct amba_id *id) | |||
297 | goto iounmap; | 303 | goto iounmap; |
298 | } | 304 | } |
299 | INIT_LIST_HEAD(chip_list); | 305 | INIT_LIST_HEAD(chip_list); |
300 | set_irq_chip_data(irq, chip_list); | 306 | set_irq_data(irq, chip_list); |
301 | } else | 307 | } else |
302 | chip_list = get_irq_chip_data(irq); | 308 | chip_list = get_irq_data(irq); |
303 | list_add(&chip->list, chip_list); | 309 | list_add(&chip->list, chip_list); |
304 | 310 | ||
305 | for (i = 0; i < PL061_GPIO_NR; i++) { | 311 | for (i = 0; i < PL061_GPIO_NR; i++) { |
diff --git a/drivers/serial/serial_ks8695.c b/drivers/serial/serial_ks8695.c index 2e71bbc04dac..b1962025b1aa 100644 --- a/drivers/serial/serial_ks8695.c +++ b/drivers/serial/serial_ks8695.c | |||
@@ -650,6 +650,7 @@ static struct console ks8695_console = { | |||
650 | 650 | ||
651 | static int __init ks8695_console_init(void) | 651 | static int __init ks8695_console_init(void) |
652 | { | 652 | { |
653 | add_preferred_console(SERIAL_KS8695_DEVNAME, 0, NULL); | ||
653 | register_console(&ks8695_console); | 654 | register_console(&ks8695_console); |
654 | return 0; | 655 | return 0; |
655 | } | 656 | } |