aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-04-29 20:17:35 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-04-29 20:17:35 -0400
commit6bec11921a7d7b11d0b1909596636632aece5a26 (patch)
tree1bf2ac7d5c482afb2c5cf59c0fc7db7c7ac03ff6
parent553cbf0a8f19c669bed82028988aa977558ef551 (diff)
parentdb7e1bc479cc941c53839b18ff811c7def0c52e7 (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/Kconfig1
-rw-r--r--arch/arm/configs/bcmring_defconfig126
-rw-r--r--arch/arm/include/asm/assembler.h12
-rw-r--r--arch/arm/include/asm/futex.h16
-rw-r--r--arch/arm/include/asm/uaccess.h40
-rw-r--r--arch/arm/kernel/entry-armv.S10
-rw-r--r--arch/arm/kernel/ftrace.c8
-rw-r--r--arch/arm/kernel/process.c8
-rw-r--r--arch/arm/lib/backtrace.S4
-rw-r--r--arch/arm/lib/clear_user.S4
-rw-r--r--arch/arm/lib/copy_from_user.S4
-rw-r--r--arch/arm/lib/copy_to_user.S4
-rw-r--r--arch/arm/lib/csumpartialcopyuser.S4
-rw-r--r--arch/arm/lib/getuser.S4
-rw-r--r--arch/arm/lib/putuser.S4
-rw-r--r--arch/arm/lib/strncpy_from_user.S4
-rw-r--r--arch/arm/lib/strnlen_user.S4
-rw-r--r--arch/arm/lib/uaccess.S8
-rw-r--r--arch/arm/mach-realview/core.c2
-rw-r--r--arch/arm/mm/alignment.c24
-rw-r--r--arch/arm/mm/proc-sa1100.S2
-rw-r--r--arch/arm/nwfpe/entry.S8
-rw-r--r--drivers/gpio/pl061.c14
-rw-r--r--drivers/serial/serial_ks8695.c1
24 files changed, 200 insertions, 116 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index c5408bf1bf4..92622eb5cc0 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 1e12167c89b..6ac6693299b 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#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_TIME=y 8CONFIG_GENERIC_TIME=y
9CONFIG_GENERIC_CLOCKEVENTS=y 9CONFIG_GENERIC_CLOCKEVENTS=y
10CONFIG_MMU=y 10CONFIG_HAVE_PROC_CPU=y
11CONFIG_GENERIC_HARDIRQS=y 11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y 12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y 13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -18,6 +18,7 @@ CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y 18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_GENERIC_HWEIGHT=y 19CONFIG_GENERIC_HWEIGHT=y
20CONFIG_GENERIC_CALIBRATE_DELAY=y 20CONFIG_GENERIC_CALIBRATE_DELAY=y
21CONFIG_NEED_DMA_MAP_STATE=y
21CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
22CONFIG_VECTORS_BASE=0xffff0000 23CONFIG_VECTORS_BASE=0xffff0000
23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -32,6 +33,12 @@ CONFIG_LOCK_KERNEL=y
32CONFIG_INIT_ENV_ARG_LIMIT=32 33CONFIG_INIT_ENV_ARG_LIMIT=32
33CONFIG_LOCALVERSION="" 34CONFIG_LOCALVERSION=""
34# CONFIG_LOCALVERSION_AUTO is not set 35# CONFIG_LOCALVERSION_AUTO is not set
36CONFIG_HAVE_KERNEL_GZIP=y
37CONFIG_HAVE_KERNEL_LZO=y
38CONFIG_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
36CONFIG_SYSVIPC=y 43CONFIG_SYSVIPC=y
37CONFIG_SYSVIPC_SYSCTL=y 44CONFIG_SYSVIPC_SYSCTL=y
@@ -43,21 +50,22 @@ CONFIG_SYSVIPC_SYSCTL=y
43# 50#
44# RCU Subsystem 51# RCU Subsystem
45# 52#
46CONFIG_CLASSIC_RCU=y 53CONFIG_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
57CONFIG_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
52CONFIG_LOG_BUF_SHIFT=17 61CONFIG_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
59CONFIG_CC_OPTIMIZE_FOR_SIZE=y 66CONFIG_CC_OPTIMIZE_FOR_SIZE=y
60CONFIG_SYSCTL=y 67CONFIG_SYSCTL=y
68CONFIG_ANON_INODES=y
61CONFIG_EMBEDDED=y 69CONFIG_EMBEDDED=y
62CONFIG_UID16=y 70CONFIG_UID16=y
63CONFIG_SYSCTL_SYSCALL=y 71CONFIG_SYSCTL_SYSCALL=y
@@ -75,19 +83,21 @@ CONFIG_FUTEX=y
75# CONFIG_EVENTFD is not set 83# CONFIG_EVENTFD is not set
76CONFIG_SHMEM=y 84CONFIG_SHMEM=y
77# CONFIG_AIO is not set 85# CONFIG_AIO is not set
86CONFIG_HAVE_PERF_EVENTS=y
87CONFIG_PERF_USE_VMALLOC=y
78 88
79# 89#
80# Performance Counters 90# Kernel Performance Events And Counters
81# 91#
92CONFIG_PERF_EVENTS=y
93CONFIG_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
87CONFIG_SLUB=y 98CONFIG_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
91CONFIG_HAVE_OPROFILE=y 101CONFIG_HAVE_OPROFILE=y
92# CONFIG_KPROBES is not set 102# CONFIG_KPROBES is not set
93CONFIG_HAVE_KPROBES=y 103CONFIG_HAVE_KPROBES=y
@@ -115,24 +125,53 @@ CONFIG_LBDAF=y
115# IO Schedulers 125# IO Schedulers
116# 126#
117CONFIG_IOSCHED_NOOP=y 127CONFIG_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
124CONFIG_DEFAULT_NOOP=y 132CONFIG_DEFAULT_NOOP=y
125CONFIG_DEFAULT_IOSCHED="noop" 133CONFIG_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#
168CONFIG_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
174CONFIG_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
172CONFIG_ARCH_BCMRING=y
173# CONFIG_ARCH_FPGA11107 is not set 220# CONFIG_ARCH_FPGA11107 is not set
174CONFIG_ARCH_BCM11107=y 221CONFIG_ARCH_BCM11107=y
175 222
@@ -185,7 +232,7 @@ CONFIG_CPU_V6=y
185CONFIG_CPU_32v6K=y 232CONFIG_CPU_32v6K=y
186CONFIG_CPU_32v6=y 233CONFIG_CPU_32v6=y
187CONFIG_CPU_ABRT_EV6=y 234CONFIG_CPU_ABRT_EV6=y
188CONFIG_CPU_PABRT_NOIFAR=y 235CONFIG_CPU_PABRT_V6=y
189CONFIG_CPU_CACHE_V6=y 236CONFIG_CPU_CACHE_V6=y
190CONFIG_CPU_CACHE_VIPT=y 237CONFIG_CPU_CACHE_VIPT=y
191CONFIG_CPU_COPY_V6=y 238CONFIG_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
251CONFIG_ARM_L1_CACHE_SHIFT=5
252CONFIG_CPU_HAS_PMU=y
204# CONFIG_ARM_ERRATA_411920 is not set 253# CONFIG_ARM_ERRATA_411920 is not set
205CONFIG_COMMON_CLKDEV=y 254CONFIG_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
224CONFIG_PAGE_OFFSET=0xC0000000 273CONFIG_PAGE_OFFSET=0xC0000000
274# CONFIG_PREEMPT_NONE is not set
275# CONFIG_PREEMPT_VOLUNTARY is not set
225CONFIG_PREEMPT=y 276CONFIG_PREEMPT=y
226CONFIG_HZ=100 277CONFIG_HZ=100
227CONFIG_AEABI=y 278CONFIG_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
283CONFIG_HW_PERF_EVENTS=y
232CONFIG_SELECT_MEMORY_MODEL=y 284CONFIG_SELECT_MEMORY_MODEL=y
233CONFIG_FLATMEM_MANUAL=y 285CONFIG_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
241CONFIG_ZONE_DMA_FLAG=0 293CONFIG_ZONE_DMA_FLAG=0
242CONFIG_VIRT_TO_BUS=y 294CONFIG_VIRT_TO_BUS=y
243CONFIG_HAVE_MLOCK=y 295# CONFIG_KSM is not set
244CONFIG_HAVE_MLOCKED_PAGE_BIT=y
245CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 296CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
246CONFIG_ALIGNMENT_TRAP=y 297CONFIG_ALIGNMENT_TRAP=y
247CONFIG_UACCESS_WITH_MEMCPY=y 298CONFIG_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
336CONFIG_MTD=y 387CONFIG_MTD=y
337# CONFIG_MTD_DEBUG is not set 388# CONFIG_MTD_DEBUG is not set
389# CONFIG_MTD_TESTS is not set
338CONFIG_MTD_CONCAT=y 390CONFIG_MTD_CONCAT=y
339CONFIG_MTD_PARTITIONS=y 391CONFIG_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
342CONFIG_MTD_CMDLINE_PARTS=y 393CONFIG_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
433CONFIG_BLK_DEV=y 484CONFIG_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#
502CONFIG_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
459CONFIG_INPUT=y 516CONFIG_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
508CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 566CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
509CONFIG_SERIAL_CORE=y 567CONFIG_SERIAL_CORE=y
510CONFIG_SERIAL_CORE_CONSOLE=y 568CONFIG_SERIAL_CORE_CONSOLE=y
569# CONFIG_SERIAL_TIMBERDALE is not set
511CONFIG_UNIX98_PTYS=y 570CONFIG_UNIX98_PTYS=y
512# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 571# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
513CONFIG_LEGACY_PTYS=y 572CONFIG_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
522CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 586CONFIG_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
530CONFIG_SSB_POSSIBLE=y 593CONFIG_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
571CONFIG_RTC_LIB=y 635CONFIG_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
648CONFIG_JFFS2_RTIME=y 718CONFIG_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
675CONFIG_ENABLE_MUST_CHECK=y 745CONFIG_ENABLE_MUST_CHECK=y
676CONFIG_FRAME_WARN=1024 746CONFIG_FRAME_WARN=1024
677CONFIG_MAGIC_SYSRQ=y 747CONFIG_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
680CONFIG_HEADERS_CHECK=y 751CONFIG_HEADERS_CHECK=y
681# CONFIG_DEBUG_KERNEL is not set 752# CONFIG_DEBUG_KERNEL is not set
682# CONFIG_DEBUG_BUGVERBOSE is not set 753CONFIG_DEBUG_BUGVERBOSE=y
683# CONFIG_DEBUG_MEMORY_INIT is not set 754# CONFIG_DEBUG_MEMORY_INIT is not set
684CONFIG_FRAME_POINTER=y 755CONFIG_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
693CONFIG_HAVE_ARCH_KGDB=y 764CONFIG_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
778CONFIG_DEFAULT_SECURITY_DAC=y
779CONFIG_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 00f46d9ce29..6e8f05c8a1c 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...) \
1519999: x; \ 1519999: 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 bfcc15929a7..540a044153a 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 1d6bd40a432..33e4a48fe10 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 6c5cf369183..e6a0fb0f392 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"
5274: mov pc, r9 5274: 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
680ENTRY(fp_enter) 680ENTRY(fp_enter)
681 .word no_fp 681 .word no_fp
682 .previous 682 .text
683 683
684ENTRY(no_fp) 684ENTRY(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 c6384276622..0298286ad4a 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 0e12e0acbf2..acf5e6fdb6d 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 */
357extern void kernel_thread_helper(void); 357extern void kernel_thread_helper(void);
358asm( ".section .text\n" 358asm( ".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
369extern void kernel_thread_exit(long code); 369extern void kernel_thread_exit(long code);
370asm( ".section .text\n" 370asm( ".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 aaf7220d9e3..a673297b0cf 100644
--- a/arch/arm/lib/backtrace.S
+++ b/arch/arm/lib/backtrace.S
@@ -110,13 +110,13 @@ no_frame: ldmfd sp!, {r4 - r8, pc}
110ENDPROC(__backtrace) 110ENDPROC(__backtrace)
111ENDPROC(c_backtrace) 111ENDPROC(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 1279abd8b88..5e3f99620c0 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}
47ENDPROC(__clear_user) 47ENDPROC(__clear_user)
48 48
49 .section .fixup,"ax" 49 .pushsection .fixup,"ax"
50 .align 0 50 .align 0
519001: ldmfd sp!, {r0, pc} 519001: 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 e4fe124aced..66a477a3e3c 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
91ENDPROC(__copy_from_user) 91ENDPROC(__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 1a71e158444..027b69bdbad 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
95ENDPROC(__copy_to_user) 95ENDPROC(__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 fd0e9dcd9fd..59ff6fdc1e6 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
739001: mov r4, #-EFAULT 739001: 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 a1814d92712..b1631a7dbe7 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
65ENDPROC(__get_user_bad) 65ENDPROC(__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 02fedbf07c0..5a01a23c6c0 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
82ENDPROC(__put_user_bad) 82ENDPROC(__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 1c9814f346c..f202d7bd164 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
34ENDPROC(__strncpy_from_user) 34ENDPROC(__strncpy_from_user)
35 35
36 .section .fixup,"ax" 36 .pushsection .fixup,"ax"
37 .align 0 37 .align 0
389001: mov r3, #0 389001: 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 7855b290665..0ecbb459c4f 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
34ENDPROC(__strnlen_user) 34ENDPROC(__strnlen_user)
35 35
36 .section .fixup,"ax" 36 .pushsection .fixup,"ax"
37 .align 0 37 .align 0
389001: mov r0, #0 389001: 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 ffdd27498ce..fee9f6f88ad 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
280ENDPROC(__copy_to_user) 280ENDPROC(__copy_to_user)
281 281
282 .section .fixup,"ax" 282 .pushsection .fixup,"ax"
283 .align 0 283 .align 0
2849001: ldmfd sp!, {r0, r4 - r7, pc} 2849001: 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
546ENDPROC(__copy_from_user) 546ENDPROC(__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 f2dbce5f3cd..d5a95738f85 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
260struct mmci_platform_data realview_mmc0_plat_data = { 260struct mmci_platform_data realview_mmc0_plat_data = {
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
index edddd66faac..a2ab51fa73e 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 ee7700242c1..5c47760c206 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 48bca0db460..cafa1835433 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 5ad8f778ced..105701a1f05 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
205static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) 211static 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 2e71bbc04da..b1962025b1a 100644
--- a/drivers/serial/serial_ks8695.c
+++ b/drivers/serial/serial_ks8695.c
@@ -650,6 +650,7 @@ static struct console ks8695_console = {
650 650
651static int __init ks8695_console_init(void) 651static 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}