Commit 6bec1192 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 553cbf0a db7e1bc4
...@@ -253,6 +253,7 @@ config ARCH_REALVIEW ...@@ -253,6 +253,7 @@ config ARCH_REALVIEW
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_OPTIONAL_GPIOLIB
select GPIO_PL061 if GPIOLIB
help help
This enables support for ARM Ltd RealView boards. This enables support for ARM Ltd RealView boards.
......
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.31-rc3 # Linux kernel version: 2.6.34-rc2
# Fri Jul 17 12:07:28 2009 # Mon Mar 29 12:01:41 2010
# #
CONFIG_ARM=y CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_TIME=y CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_MMU=y CONFIG_HAVE_PROC_CPU=y
CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_HARDIRQS=y
CONFIG_STACKTRACE_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y
...@@ -18,6 +18,7 @@ CONFIG_GENERIC_IRQ_PROBE=y ...@@ -18,6 +18,7 @@ CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_VECTORS_BASE=0xffff0000 CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
...@@ -32,6 +33,12 @@ CONFIG_LOCK_KERNEL=y ...@@ -32,6 +33,12 @@ CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set # CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set # CONFIG_SWAP is not set
CONFIG_SYSVIPC=y CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y CONFIG_SYSVIPC_SYSCTL=y
...@@ -43,21 +50,22 @@ CONFIG_SYSVIPC_SYSCTL=y ...@@ -43,21 +50,22 @@ CONFIG_SYSVIPC_SYSCTL=y
# #
# RCU Subsystem # RCU Subsystem
# #
CONFIG_CLASSIC_RCU=y CONFIG_TREE_RCU=y
# CONFIG_TREE_RCU is not set # CONFIG_TREE_PREEMPT_RCU is not set
# CONFIG_PREEMPT_RCU is not set # CONFIG_TINY_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set # CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set # CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17 CONFIG_LOG_BUF_SHIFT=17
# CONFIG_GROUP_SCHED is not set
# CONFIG_CGROUPS is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set # CONFIG_SYSFS_DEPRECATED_V2 is not set
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
# CONFIG_NAMESPACES is not set # CONFIG_NAMESPACES is not set
# CONFIG_BLK_DEV_INITRD is not set # CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y CONFIG_EMBEDDED=y
CONFIG_UID16=y CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y CONFIG_SYSCTL_SYSCALL=y
...@@ -75,19 +83,21 @@ CONFIG_FUTEX=y ...@@ -75,19 +83,21 @@ CONFIG_FUTEX=y
# CONFIG_EVENTFD is not set # CONFIG_EVENTFD is not set
CONFIG_SHMEM=y CONFIG_SHMEM=y
# CONFIG_AIO is not set # CONFIG_AIO is not set
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y
# #
# Performance Counters # Kernel Performance Events And Counters
# #
CONFIG_PERF_EVENTS=y
CONFIG_PERF_COUNTERS=y
# CONFIG_VM_EVENT_COUNTERS is not set # CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_SLUB_DEBUG is not set # CONFIG_SLUB_DEBUG is not set
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_COMPAT_BRK is not set # CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set # CONFIG_SLAB is not set
CONFIG_SLUB=y CONFIG_SLUB=y
# CONFIG_SLOB is not set # CONFIG_SLOB is not set
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set # CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KPROBES=y
...@@ -115,24 +125,53 @@ CONFIG_LBDAF=y ...@@ -115,24 +125,53 @@ CONFIG_LBDAF=y
# IO Schedulers # IO Schedulers
# #
CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
# CONFIG_IOSCHED_DEADLINE is not set # CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set # CONFIG_IOSCHED_CFQ is not set
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set # CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop" CONFIG_DEFAULT_IOSCHED="noop"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
# CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
# CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
# CONFIG_FREEZER is not set # CONFIG_FREEZER is not set
# #
# System Type # System Type
# #
CONFIG_MMU=y
# CONFIG_ARCH_AAEC2000 is not set # CONFIG_ARCH_AAEC2000 is not set
# CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_REALVIEW is not set # CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_VERSATILE is not set # CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_AT91 is not set # CONFIG_ARCH_AT91 is not set
CONFIG_ARCH_BCMRING=y
# CONFIG_ARCH_CLPS711X is not set # CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_GEMINI is not set # CONFIG_ARCH_GEMINI is not set
# CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EBSA110 is not set
...@@ -149,6 +188,7 @@ CONFIG_DEFAULT_IOSCHED="noop" ...@@ -149,6 +188,7 @@ CONFIG_DEFAULT_IOSCHED="noop"
# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_DOVE is not set
# CONFIG_ARCH_KIRKWOOD is not set # CONFIG_ARCH_KIRKWOOD is not set
# CONFIG_ARCH_LOKI is not set # CONFIG_ARCH_LOKI is not set
# CONFIG_ARCH_MV78XX0 is not set # CONFIG_ARCH_MV78XX0 is not set
...@@ -157,19 +197,26 @@ CONFIG_DEFAULT_IOSCHED="noop" ...@@ -157,19 +197,26 @@ CONFIG_DEFAULT_IOSCHED="noop"
# CONFIG_ARCH_KS8695 is not set # CONFIG_ARCH_KS8695 is not set
# CONFIG_ARCH_NS9XXX is not set # CONFIG_ARCH_NS9XXX is not set
# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCH_W90X900 is not set
# CONFIG_ARCH_NUC93X is not set
# CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PNX4008 is not set
# CONFIG_ARCH_PXA is not set # CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_MSM is not set # CONFIG_ARCH_MSM is not set
# CONFIG_ARCH_SHMOBILE is not set
# CONFIG_ARCH_RPC is not set # CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set # CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_S3C64XX is not set # CONFIG_ARCH_S3C64XX is not set
# CONFIG_ARCH_S5P6440 is not set
# CONFIG_ARCH_S5P6442 is not set
# CONFIG_ARCH_S5PC1XX is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_U300 is not set # CONFIG_ARCH_U300 is not set
# CONFIG_ARCH_U8500 is not set
# CONFIG_ARCH_NOMADIK is not set
# CONFIG_ARCH_DAVINCI is not set # CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_OMAP is not set # CONFIG_ARCH_OMAP is not set
CONFIG_ARCH_BCMRING=y
# CONFIG_ARCH_FPGA11107 is not set # CONFIG_ARCH_FPGA11107 is not set
CONFIG_ARCH_BCM11107=y CONFIG_ARCH_BCM11107=y
...@@ -185,7 +232,7 @@ CONFIG_CPU_V6=y ...@@ -185,7 +232,7 @@ CONFIG_CPU_V6=y
CONFIG_CPU_32v6K=y CONFIG_CPU_32v6K=y
CONFIG_CPU_32v6=y CONFIG_CPU_32v6=y
CONFIG_CPU_ABRT_EV6=y CONFIG_CPU_ABRT_EV6=y
CONFIG_CPU_PABRT_NOIFAR=y CONFIG_CPU_PABRT_V6=y
CONFIG_CPU_CACHE_V6=y CONFIG_CPU_CACHE_V6=y
CONFIG_CPU_CACHE_VIPT=y CONFIG_CPU_CACHE_VIPT=y
CONFIG_CPU_COPY_V6=y CONFIG_CPU_COPY_V6=y
...@@ -201,6 +248,8 @@ CONFIG_ARM_THUMB=y ...@@ -201,6 +248,8 @@ CONFIG_ARM_THUMB=y
# CONFIG_CPU_ICACHE_DISABLE is not set # CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_BPREDICT_DISABLE is not set # CONFIG_CPU_BPREDICT_DISABLE is not set
CONFIG_ARM_L1_CACHE_SHIFT=5
CONFIG_CPU_HAS_PMU=y
# CONFIG_ARM_ERRATA_411920 is not set # CONFIG_ARM_ERRATA_411920 is not set
CONFIG_COMMON_CLKDEV=y CONFIG_COMMON_CLKDEV=y
...@@ -222,6 +271,8 @@ CONFIG_VMSPLIT_3G=y ...@@ -222,6 +271,8 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set # CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y CONFIG_PREEMPT=y
CONFIG_HZ=100 CONFIG_HZ=100
CONFIG_AEABI=y CONFIG_AEABI=y
...@@ -229,6 +280,7 @@ CONFIG_AEABI=y ...@@ -229,6 +280,7 @@ CONFIG_AEABI=y
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
# CONFIG_HIGHMEM is not set # CONFIG_HIGHMEM is not set
CONFIG_HW_PERF_EVENTS=y
CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_DISCONTIGMEM_MANUAL is not set
...@@ -240,8 +292,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 ...@@ -240,8 +292,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_PHYS_ADDR_T_64BIT is not set # CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0 CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y CONFIG_VIRT_TO_BUS=y
CONFIG_HAVE_MLOCK=y # CONFIG_KSM is not set
CONFIG_HAVE_MLOCKED_PAGE_BIT=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ALIGNMENT_TRAP=y CONFIG_ALIGNMENT_TRAP=y
CONFIG_UACCESS_WITH_MEMCPY=y CONFIG_UACCESS_WITH_MEMCPY=y
...@@ -335,9 +386,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y ...@@ -335,9 +386,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_CONNECTOR is not set # CONFIG_CONNECTOR is not set
CONFIG_MTD=y CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set # CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_TESTS is not set
CONFIG_MTD_CONCAT=y CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AFS_PARTS is not set
...@@ -433,6 +484,10 @@ CONFIG_MTD_NAND_BCM_UMI_HWCS=y ...@@ -433,6 +484,10 @@ CONFIG_MTD_NAND_BCM_UMI_HWCS=y
CONFIG_BLK_DEV=y CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set # CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set # CONFIG_BLK_DEV_LOOP is not set
#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
#
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set # CONFIG_CDROM_PKTCDVD is not set
...@@ -444,6 +499,7 @@ CONFIG_HAVE_IDE=y ...@@ -444,6 +499,7 @@ CONFIG_HAVE_IDE=y
# #
# SCSI device support # SCSI device support
# #
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set # CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set # CONFIG_SCSI is not set
# CONFIG_SCSI_DMA is not set # CONFIG_SCSI_DMA is not set
...@@ -452,6 +508,7 @@ CONFIG_HAVE_IDE=y ...@@ -452,6 +508,7 @@ CONFIG_HAVE_IDE=y
# CONFIG_MD is not set # CONFIG_MD is not set
# CONFIG_NETDEVICES is not set # CONFIG_NETDEVICES is not set
# CONFIG_ISDN is not set # CONFIG_ISDN is not set
# CONFIG_PHONE is not set
# #
# Input device support # Input device support
...@@ -459,6 +516,7 @@ CONFIG_HAVE_IDE=y ...@@ -459,6 +516,7 @@ CONFIG_HAVE_IDE=y
CONFIG_INPUT=y CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set # CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set # CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# #
# Userland interfaces # Userland interfaces
...@@ -508,6 +566,7 @@ CONFIG_SERIAL_AMBA_PL011=y ...@@ -508,6 +566,7 @@ CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
...@@ -519,13 +578,17 @@ CONFIG_LEGACY_PTY_COUNT=64 ...@@ -519,13 +578,17 @@ CONFIG_LEGACY_PTY_COUNT=64
# CONFIG_TCG_TPM is not set # CONFIG_TCG_TPM is not set
# CONFIG_I2C is not set # CONFIG_I2C is not set
# CONFIG_SPI is not set # CONFIG_SPI is not set
#
# PPS support
#
# CONFIG_PPS is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set # CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set # CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set # CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set # CONFIG_HWMON is not set
# CONFIG_THERMAL is not set # CONFIG_THERMAL is not set
# CONFIG_THERMAL_HWMON is not set
# CONFIG_WATCHDOG is not set # CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y CONFIG_SSB_POSSIBLE=y
...@@ -541,6 +604,7 @@ CONFIG_SSB_POSSIBLE=y ...@@ -541,6 +604,7 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_MFD_SM501 is not set # CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set # CONFIG_MFD_TMIO is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set # CONFIG_MEDIA_SUPPORT is not set
# #
...@@ -566,14 +630,17 @@ CONFIG_DUMMY_CONSOLE=y ...@@ -566,14 +630,17 @@ CONFIG_DUMMY_CONSOLE=y
# CONFIG_USB_SUPPORT is not set # CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set # CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set # CONFIG_MEMSTICK is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_NEW_LEDS is not set # CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_RTC_LIB=y CONFIG_RTC_LIB=y
# CONFIG_RTC_CLASS is not set # CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set # CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set # CONFIG_AUXDISPLAY is not set
# CONFIG_REGULATOR is not set
# CONFIG_UIO is not set # CONFIG_UIO is not set
#
# TI VLYNQ
#
# CONFIG_STAGING is not set # CONFIG_STAGING is not set
# #
...@@ -589,9 +656,12 @@ CONFIG_FS_POSIX_ACL=y ...@@ -589,9 +656,12 @@ CONFIG_FS_POSIX_ACL=y
# CONFIG_GFS2_FS is not set # CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set # CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_FILE_LOCKING is not set # CONFIG_FILE_LOCKING is not set
# CONFIG_FSNOTIFY is not set # CONFIG_FSNOTIFY is not set
# CONFIG_DNOTIFY is not set
# CONFIG_INOTIFY is not set # CONFIG_INOTIFY is not set
# CONFIG_INOTIFY_USER is not set
# CONFIG_QUOTA is not set # CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set # CONFIG_AUTOFS4_FS is not set
...@@ -647,6 +717,7 @@ CONFIG_JFFS2_ZLIB=y ...@@ -647,6 +717,7 @@ CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set # CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set # CONFIG_JFFS2_RUBIN is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set # CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set # CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
...@@ -657,7 +728,6 @@ CONFIG_JFFS2_RTIME=y ...@@ -657,7 +728,6 @@ CONFIG_JFFS2_RTIME=y
# CONFIG_ROMFS_FS is not set # CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set # CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set # CONFIG_UFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set # CONFIG_NETWORK_FILESYSTEMS is not set
# #
...@@ -675,11 +745,12 @@ CONFIG_MSDOS_PARTITION=y ...@@ -675,11 +745,12 @@ CONFIG_MSDOS_PARTITION=y
CONFIG_ENABLE_MUST_CHECK=y CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024 CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set # CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set # CONFIG_DEBUG_FS is not set
CONFIG_HEADERS_CHECK=y CONFIG_HEADERS_CHECK=y
# CONFIG_DEBUG_KERNEL is not set # CONFIG_DEBUG_KERNEL is not set
# CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_MEMORY_INIT is not set
CONFIG_FRAME_POINTER=y CONFIG_FRAME_POINTER=y
# CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set
...@@ -693,6 +764,7 @@ CONFIG_TRACING_SUPPORT=y ...@@ -693,6 +764,7 @@ CONFIG_TRACING_SUPPORT=y
CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_ARM_UNWIND is not set # CONFIG_ARM_UNWIND is not set
# CONFIG_DEBUG_USER is not set # CONFIG_DEBUG_USER is not set
# CONFIG_OC_ETM is not set
# #
# Security options # Security options
...@@ -700,7 +772,11 @@ CONFIG_HAVE_ARCH_KGDB=y ...@@ -700,7 +772,11 @@ CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KEYS is not set # CONFIG_KEYS is not set
# CONFIG_SECURITY is not set # CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set # CONFIG_SECURITYFS is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set
# CONFIG_DEFAULT_SECURITY_SMACK is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
# CONFIG_CRYPTO is not set # CONFIG_CRYPTO is not set
# CONFIG_BINARY_PRINTF is not set # CONFIG_BINARY_PRINTF is not set
......
...@@ -149,10 +149,10 @@ ...@@ -149,10 +149,10 @@
#define USER(x...) \ #define USER(x...) \
9999: x; \ 9999: x; \
.section __ex_table,"a"; \ .pushsection __ex_table,"a"; \
.align 3; \ .align 3; \
.long 9999b,9001f; \ .long 9999b,9001f; \
.previous .popsection
/* /*
* SMP data memory barrier * SMP data memory barrier
...@@ -193,10 +193,10 @@ ...@@ -193,10 +193,10 @@
.error "Unsupported inc macro argument" .error "Unsupported inc macro argument"
.endif .endif
.section __ex_table,"a" .pushsection __ex_table,"a"
.align 3 .align 3
.long 9999b, \abort .long 9999b, \abort
.previous .popsection
.endm .endm
.macro usracc, instr, reg, ptr, inc, cond, rept, abort .macro usracc, instr, reg, ptr, inc, cond, rept, abort
...@@ -234,10 +234,10 @@ ...@@ -234,10 +234,10 @@
.error "Unsupported inc macro argument" .error "Unsupported inc macro argument"
.endif .endif
.section __ex_table,"a" .pushsection __ex_table,"a"
.align 3 .align 3
.long 9999b, \abort .long 9999b, \abort
.previous .popsection
.endr .endr
.endm .endm
......
...@@ -21,14 +21,14 @@ ...@@ -21,14 +21,14 @@
"2: strt %0, [%2]\n" \ "2: strt %0, [%2]\n" \
" mov %0, #0\n" \ " mov %0, #0\n" \
"3:\n" \ "3:\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 4f, 2b, 4f\n" \ " .long 1b, 4f, 2b, 4f\n" \
" .previous\n" \ " .popsection\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
"4: mov %0, %4\n" \ "4: mov %0, %4\n" \
" b 3b\n" \ " b 3b\n" \
" .previous" \ " .popsection" \
: "=&r" (ret), "=&r" (oldval) \ : "=&r" (ret), "=&r" (oldval) \
: "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
: "cc", "memory") : "cc", "memory")
...@@ -102,14 +102,14 @@ futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) ...@@ -102,14 +102,14 @@ futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval)
" it eq @ explicit IT needed for the 2b label\n" " it eq @ explicit IT needed for the 2b label\n"
"2: streqt %2, [%3]\n" "2: streqt %2, [%3]\n"
"3:\n" "3:\n"
" .section __ex_table,\"a\"\n" " .pushsection __ex_table,\"a\"\n"
" .align 3\n" " .align 3\n"
" .long 1b, 4f, 2b, 4f\n" " .long 1b, 4f, 2b, 4f\n"
" .previous\n" " .popsection\n"
" .section .fixup,\"ax\"\n" " .pushsection .fixup,\"ax\"\n"
"4: mov %0, %4\n" "4: mov %0, %4\n"
" b 3b\n" " b 3b\n"
" .previous" " .popsection"
: "=&r" (val) : "=&r" (val)
: "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
: "cc", "memory"); : "cc", "memory");
......
...@@ -229,16 +229,16 @@ do { \ ...@@ -229,16 +229,16 @@ do { \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1: ldrbt %1,[%2]\n" \ "1: ldrbt %1,[%2]\n" \
"2:\n" \ "2:\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
" .align 2\n" \ " .align 2\n" \
"3: mov %0, %3\n" \ "3: mov %0, %3\n" \
" mov %1, #0\n" \ " mov %1, #0\n" \
" b 2b\n" \ " b 2b\n" \
" .previous\n" \ " .popsection\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 3b\n" \ " .long 1b, 3b\n" \
" .previous" \ " .popsection" \
: "+r" (err), "=&r" (x) \ : "+r" (err), "=&r" (x) \
: "r" (addr), "i" (-EFAULT) \ : "r" (addr), "i" (-EFAULT) \
: "cc") : "cc")
...@@ -265,16 +265,16 @@ do { \ ...@@ -265,16 +265,16 @@ do { \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1: ldrt %1,[%2]\n" \ "1: ldrt %1,[%2]\n" \
"2:\n" \ "2:\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
" .align 2\n" \ " .align 2\n" \
"3: mov %0, %3\n" \ "3: mov %0, %3\n" \
" mov %1, #0\n" \ " mov %1, #0\n" \
" b 2b\n" \ " b 2b\n" \
" .previous\n" \ " .popsection\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 3b\n" \ " .long 1b, 3b\n" \
" .previous" \ " .popsection" \
: "+r" (err), "=&r" (x) \ : "+r" (err), "=&r" (x) \
: "r" (addr), "i" (-EFAULT) \ : "r" (addr), "i" (-EFAULT) \
: "cc") : "cc")
...@@ -310,15 +310,15 @@ do { \ ...@@ -310,15 +310,15 @@ do { \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1: strbt %1,[%2]\n" \ "1: strbt %1,[%2]\n" \
"2:\n" \ "2:\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
" .align 2\n" \ " .align 2\n" \
"3: mov %0, %3\n" \ "3: mov %0, %3\n" \
" b 2b\n" \ " b 2b\n" \
" .previous\n" \ " .popsection\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 3b\n" \ " .long 1b, 3b\n" \
" .previous" \ " .popsection" \
: "+r" (err) \ : "+r" (err) \
: "r" (x), "r" (__pu_addr), "i" (-EFAULT) \ : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \
: "cc") : "cc")
...@@ -343,15 +343,15 @@ do { \ ...@@ -343,15 +343,15 @@ do { \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1: strt %1,[%2]\n" \ "1: strt %1,[%2]\n" \
"2:\n" \ "2:\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
" .align 2\n" \ " .align 2\n" \
"3: mov %0, %3\n" \ "3: mov %0, %3\n" \
" b 2b\n" \ " b 2b\n" \
" .previous\n" \ " .popsection\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 3b\n" \ " .long 1b, 3b\n" \
" .previous" \ " .popsection" \
: "+r" (err) \ : "+r" (err) \
: "r" (x), "r" (__pu_addr), "i" (-EFAULT) \ : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \
: "cc") : "cc")
...@@ -371,16 +371,16 @@ do { \ ...@@ -371,16 +371,16 @@ do { \
THUMB( "1: strt " __reg_oper1 ", [%1]\n" ) \ THUMB( "1: strt " __reg_oper1 ", [%1]\n" ) \
THUMB( "2: strt " __reg_oper0 ", [%1, #4]\n" ) \ THUMB( "2: strt " __reg_oper0 ", [%1, #4]\n" ) \
"3:\n" \ "3:\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
" .align 2\n" \ " .align 2\n" \
"4: mov %0, %3\n" \ "4: mov %0, %3\n" \
" b 3b\n" \ " b 3b\n" \
" .previous\n" \ " .popsection\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 4b\n" \ " .long 1b, 4b\n" \
" .long 2b, 4b\n" \ " .long 2b, 4b\n" \
" .previous" \ " .popsection" \
: "+r" (err), "+r" (__pu_addr) \ : "+r" (err), "+r" (__pu_addr) \
: "r" (x), "i" (-EFAULT) \ : "r" (x), "i" (-EFAULT) \
: "cc") : "cc")
......
...@@ -523,16 +523,16 @@ ENDPROC(__und_usr) ...@@ -523,16 +523,16 @@ ENDPROC(__und_usr)
/* /*
* The out of line fixup for the ldrt above. * The out of line fixup for the ldrt above.
*/ */
.section .fixup, "ax" .pushsection .fixup, "ax"
4: mov pc, r9 4: mov pc, r9
.previous .popsection
.section __ex_table,"a" .pushsection __ex_table,"a"
.long 1b, 4b .long 1b, 4b
#if __LINUX_ARM_ARCH__ >= 7 #if __LINUX_ARM_ARCH__ >= 7
.long 2b, 4b .long 2b, 4b
.long 3b, 4b .long 3b, 4b
#endif #endif
.previous .popsection
/* /*
* Check whether the instruction is a co-processor instruction. * Check whether the instruction is a co-processor instruction.
...@@ -679,7 +679,7 @@ do_fpe: ...@@ -679,7 +679,7 @@ do_fpe:
.data .data
ENTRY(fp_enter) ENTRY(fp_enter)
.word no_fp .word no_fp
.previous .text
ENTRY(no_fp) ENTRY(no_fp)
mov pc, lr mov pc, lr
......
...@@ -62,15 +62,15 @@ int ftrace_modify_code(unsigned long pc, unsigned char *old_code, ...@@ -62,15 +62,15 @@ int ftrace_modify_code(unsigned long pc, unsigned char *old_code,
" movne %0, #2 \n" " movne %0, #2 \n"
"3:\n" "3:\n"
".section .fixup, \"ax\"\n" ".pushsection .fixup, \"ax\"\n"
"4: mov %0, #1 \n" "4: mov %0, #1 \n"
" b 3b \n" " b 3b \n"
".previous\n" ".popsection\n"
".section __ex_table, \"a\"\n" ".pushsection __ex_table, \"a\"\n"
" .long 1b, 4b \n" " .long 1b, 4b \n"
" .long 2b, 4b \n" " .long 2b, 4b \n"
".previous\n" ".popsection\n"
: "=r"(err), "=r"(replaced) : "=r"(err), "=r"(replaced)
: "r"(pc), "r"(new), "r"(old), "0"(err), "1"(replaced) : "r"(pc), "r"(new), "r"(old), "0"(err), "1"(replaced)
......
...@@ -355,7 +355,7 @@ EXPORT_SYMBOL(dump_fpu); ...@@ -355,7 +355,7 @@ EXPORT_SYMBOL(dump_fpu);
* the thread function, and r3 points to the exit function. * the thread function, and r3 points to the exit function.
*/ */
extern void kernel_thread_helper(void); extern void kernel_thread_helper(void);
asm( ".section .text\n" asm( ".pushsection .text\n"
" .align\n" " .align\n"
" .type kernel_thread_helper, #function\n" " .type kernel_thread_helper, #function\n"
"kernel_thread_helper:\n" "kernel_thread_helper:\n"
...@@ -363,11 +363,11 @@ asm( ".section .text\n" ...@@ -363,11 +363,11 @@ asm( ".section .text\n"
" mov lr, r3\n" " mov lr, r3\n"
" mov pc, r2\n" " mov pc, r2\n"
" .size kernel_thread_helper, . - kernel_thread_helper\n" " .size kernel_thread_helper, . - kernel_thread_helper\n"
" .previous"); " .popsection");
#ifdef CONFIG_ARM_UNWIND #ifdef CONFIG_ARM_UNWIND
extern void kernel_thread_exit(long code); extern void kernel_thread_exit(long code);
asm( ".section .text\n" asm( ".pushsection .text\n"
" .align\n" " .align\n"
" .type kernel_thread_exit, #function\n" " .type kernel_thread_exit, #function\n"
"kernel_thread_exit:\n" "kernel_thread_exit:\n"
...@@ -377,7 +377,7 @@ asm( ".section .text\n" ...@@ -377,7 +377,7 @@ asm( ".section .text\n"
" nop\n" " nop\n"
" .fnend\n" " .fnend\n"
" .size kernel_thread_exit, . - kernel_thread_exit\n" " .size kernel_thread_exit, . - kernel_thread_exit\n"
" .previous"); " .popsection");
#else #else
#define kernel_thread_exit do_exit #define kernel_thread_exit do_exit
#endif #endif
......
...@@ -110,13 +110,13 @@ no_frame: ldmfd sp!, {r4 - r8, pc} ...@@ -110,13 +110,13 @@ no_frame: ldmfd sp!, {r4 - r8, pc}
ENDPROC(__backtrace) ENDPROC(__backtrace)
ENDPROC(c_backtrace) ENDPROC(c_backtrace)
.section __ex_table,"a" .pushsection __ex_table,"a"
.align 3 .align 3
.long 1001b, 1006b .long 1001b, 1006b
.long 1002b, 1006b .long 1002b, 1006b
.long 1003b, 1006b .long 1003b, 1006b
.long 1004b, 1006b .long 1004b, 1006b
.previous .popsection
#define instr r4 #define instr r4
#define reg r5 #define reg r5
......
...@@ -46,8 +46,8 @@ USER( strnebt r2, [r0]) ...@@ -46,8 +46,8 @@ USER( strnebt r2, [r0])
ldmfd sp!, {r1, pc} ldmfd sp!, {r1, pc}
ENDPROC(__clear_user) ENDPROC(__clear_user)
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 0 .align 0
9001: ldmfd sp!, {r0, pc} 9001: ldmfd sp!, {r0, pc}
.previous .popsection
...@@ -90,7 +90,7 @@ ENTRY(__copy_from_user) ...@@ -90,7 +90,7 @@ ENTRY(__copy_from_user)
ENDPROC(__copy_from_user) ENDPROC(__copy_from_user)
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 0 .align 0
copy_abort_preamble copy_abort_preamble
ldmfd sp!, {r1, r2} ldmfd sp!, {r1, r2}
...@@ -100,5 +100,5 @@ ENDPROC(__copy_from_user) ...@@ -100,5 +100,5 @@ ENDPROC(__copy_from_user)
bl __memzero bl __memzero
ldr r0, [sp], #4 ldr r0, [sp], #4
copy_abort_end copy_abort_end
.previous .popsection
...@@ -94,12 +94,12 @@ WEAK(__copy_to_user) ...@@ -94,12 +94,12 @@ WEAK(__copy_to_user)
ENDPROC(__copy_to_user) ENDPROC(__copy_to_user)
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 0 .align 0
copy_abort_preamble copy_abort_preamble
ldmfd sp!, {r1, r2, r3} ldmfd sp!, {r1, r2, r3}
sub r0, r0, r1 sub r0, r0, r1
rsb r0, r0, r2 rsb r0, r0, r2
copy_abort_end copy_abort_end
.previous .popsection
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
* so properly, we would have to add in whatever registers were loaded before * so properly, we would have to add in whatever registers were loaded before
* the fault, which, with the current asm above is not predictable. * the fault, which, with the current asm above is not predictable.
*/ */
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 4 .align 4
9001: mov r4, #-EFAULT 9001: mov r4, #-EFAULT
ldr r5, [fp, #4] @ *err_ptr ldr r5, [fp, #4] @ *err_ptr
...@@ -80,4 +80,4 @@ ...@@ -80,4 +80,4 @@
strneb r0, [r1], #1 strneb r0, [r1], #1
bne 9002b bne 9002b
load_regs load_regs
.previous .popsection
...@@ -64,9 +64,9 @@ __get_user_bad: ...@@ -64,9 +64,9 @@ __get_user_bad:
mov pc, lr mov pc, lr
ENDPROC(__get_user_bad) ENDPROC(__get_user_bad)
.section __ex_table, "a" .pushsection __ex_table, "a"
.long 1b, __get_user_bad .long 1b, __get_user_bad
.long 2b, __get_user_bad .long 2b, __get_user_bad
.long 3b, __get_user_bad .long 3b, __get_user_bad
.long 4b, __get_user_bad .long 4b, __get_user_bad
.previous .popsection
...@@ -81,11 +81,11 @@ __put_user_bad: ...@@ -81,11 +81,11 @@ __put_user_bad:
mov pc, lr mov pc, lr
ENDPROC(__put_user_bad) ENDPROC(__put_user_bad)
.section __ex_table, "a" .pushsection __ex_table, "a"
.long 1b, __put_user_bad .long 1b, __put_user_bad
.long 2b, __put_user_bad .long 2b, __put_user_bad
.long 3b, __put_user_bad .long 3b, __put_user_bad
.long 4b, __put_user_bad .long 4b, __put_user_bad
.long 5b, __put_user_bad .long 5b, __put_user_bad
.long 6b, __put_user_bad .long 6b, __put_user_bad
.previous .popsection
...@@ -33,11 +33,11 @@ ENTRY(__strncpy_from_user) ...@@ -33,11 +33,11 @@ ENTRY(__strncpy_from_user)
mov pc, lr mov pc, lr
ENDPROC(__strncpy_from_user) ENDPROC(__strncpy_from_user)
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 0 .align 0
9001: mov r3, #0 9001: mov r3, #0
strb r3, [r0, #0] @ null terminate strb r3, [r0, #0] @ null terminate
mov r0, #-EFAULT mov r0, #-EFAULT
mov pc, lr mov pc, lr
.previous .popsection
...@@ -33,8 +33,8 @@ ENTRY(__strnlen_user) ...@@ -33,8 +33,8 @@ ENTRY(__strnlen_user)
mov pc, lr mov pc, lr
ENDPROC(__strnlen_user) ENDPROC(__strnlen_user)
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 0 .align 0
9001: mov r0, #0 9001: mov r0, #0
mov pc, lr mov pc, lr
.previous .popsection
...@@ -279,10 +279,10 @@ USER( strgtbt r3, [r0], #1) @ May fault ...@@ -279,10 +279,10 @@ USER( strgtbt r3, [r0], #1) @ May fault
b .Lc2u_finished b .Lc2u_finished
ENDPROC(__copy_to_user) ENDPROC(__copy_to_user)
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 0 .align 0
9001: ldmfd sp!, {r0, r4 - r7, pc} 9001: ldmfd sp!, {r0, r4 - r7, pc}
.previous .popsection
/* Prototype: unsigned long __copy_from_user(void *to,const void *from,unsigned long n); /* Prototype: unsigned long __copy_from_user(void *to,const void *from,unsigned long n);
* Purpose : copy a block from user memory to kernel memory * Purpose : copy a block from user memory to kernel memory
...@@ -545,7 +545,7 @@ USER( ldrgtbt r3, [r1], #1) @ May fault ...@@ -545,7 +545,7 @@ USER( ldrgtbt r3, [r1], #1) @ May fault
b .Lcfu_finished b .Lcfu_finished
ENDPROC(__copy_from_user) ENDPROC(__copy_from_user)
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 0 .align 0
/* /*
* We took an exception. r0 contains a pointer to * We took an exception. r0 contains a pointer to
...@@ -559,5 +559,5 @@ ENDPROC(__copy_from_user) ...@@ -559,5 +559,5 @@ ENDPROC(__copy_from_user)
blne __memzero blne __memzero
mov r0, r4 mov r0, r4
ldmfd sp!, {r4 - r7, pc} ldmfd sp!, {r4 - r7, pc}
.previous .popsection
...@@ -254,7 +254,7 @@ static unsigned int realview_mmc_status(struct device *dev) ...@@ -254,7 +254,7 @@ static unsigned int realview_mmc_status(struct device *dev)
else else
mask = 2; mask = 2;
return readl(REALVIEW_SYSMCI) & mask; return !(readl(REALVIEW_SYSMCI) & mask);
} }
struct mmci_platform_data realview_mmc0_plat_data = { struct mmci_platform_data realview_mmc0_plat_data = {
......
...@@ -166,15 +166,15 @@ union offset_union { ...@@ -166,15 +166,15 @@ union offset_union {
THUMB( "1: "ins" %1, [%2]\n" ) \ THUMB( "1: "ins" %1, [%2]\n" ) \
THUMB( " add %2, %2, #1\n" ) \ THUMB( " add %2, %2, #1\n" ) \
"2:\n" \ "2:\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
" .align 2\n" \ " .align 2\n" \
"3: mov %0, #1\n" \ "3: mov %0, #1\n" \
" b 2b\n" \ " b 2b\n" \
" .previous\n" \ " .popsection\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 3b\n" \ " .long 1b, 3b\n" \
" .previous\n" \ " .popsection\n" \
: "=r" (err), "=&r" (val), "=r" (addr) \ : "=r" (err), "=&r" (val), "=r" (addr) \
: "0" (err), "2" (addr)) : "0" (err), "2" (addr))
...@@ -226,16 +226,16 @@ union offset_union { ...@@ -226,16 +226,16 @@ union offset_union {
" mov %1, %1, "NEXT_BYTE"\n" \ " mov %1, %1, "NEXT_BYTE"\n" \
"2: "ins" %1, [%2]\n" \ "2: "ins" %1, [%2]\n" \
"3:\n" \ "3:\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
" .align 2\n" \ " .align 2\n" \
"4: mov %0, #1\n" \ "4: mov %0, #1\n" \
" b 3b\n" \ " b 3b\n" \
" .previous\n" \ " .popsection\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 4b\n" \ " .long 1b, 4b\n" \
" .long 2b, 4b\n" \ " .long 2b, 4b\n" \
" .previous\n" \ " .popsection\n" \
: "=r" (err), "=&r" (v), "=&r" (a) \ : "=r" (err), "=&r" (v), "=&r" (a) \
: "0" (err), "1" (v), "2" (a)); \ : "0" (err), "1" (v), "2" (a)); \
if (err) \ if (err) \
...@@ -266,18 +266,18 @@ union offset_union { ...@@ -266,18 +266,18 @@ union offset_union {
" mov %1, %1, "NEXT_BYTE"\n" \ " mov %1, %1, "NEXT_BYTE"\n" \
"4: "ins" %1, [%2]\n" \ "4: "ins" %1, [%2]\n" \
"5:\n" \ "5:\n" \
" .section .fixup,\"ax\"\n" \ " .pushsection .fixup,\"ax\"\n" \
" .align 2\n" \ " .align 2\n" \
"6: mov %0, #1\n" \ "6: mov %0, #1\n" \
" b 5b\n" \ " b 5b\n" \
" .previous\n" \ " .popsection\n" \
" .section __ex_table,\"a\"\n" \ " .pushsection __ex_table,\"a\"\n" \
" .align 3\n" \ " .align 3\n" \
" .long 1b, 6b\n" \ " .long 1b, 6b\n" \
" .long 2b, 6b\n" \ " .long 2b, 6b\n" \
" .long 3b, 6b\n" \ " .long 3b, 6b\n" \
" .long 4b, 6b\n" \ " .long 4b, 6b\n" \
" .previous\n" \ " .popsection\n" \
: "=r" (err), "=&r" (v), "=&r" (a) \ : "=r" (err), "=&r" (v), "=&r" (a) \
: "0" (err), "1" (v), "2" (a)); \ : "0" (err), "1" (v), "2" (a)); \
if (err) \ if (err) \
......
...@@ -45,7 +45,7 @@ ENTRY(cpu_sa1100_proc_init) ...@@ -45,7 +45,7 @@ ENTRY(cpu_sa1100_proc_init)
mcr p15, 0, r0, c9, c0, 5 @ Allow read-buffer operations from userland mcr p15, 0, r0, c9, c0, 5 @ Allow read-buffer operations from userland
mov pc, lr mov pc, lr
.previous .section .text
/* /*
* cpu_sa1100_proc_fin() * cpu_sa1100_proc_fin()
......
...@@ -111,12 +111,12 @@ next: ...@@ -111,12 +111,12 @@ next:
@ to fault. Emit the appropriate exception gunk to fix things up. @ to fault. Emit the appropriate exception gunk to fix things up.
@ ??? For some reason, faults can happen at .Lx2 even with a @ ??? For some reason, faults can happen at .Lx2 even with a
@ plain LDR instruction. Weird, but it seems harmless. @ plain LDR instruction. Weird, but it seems harmless.
.section .fixup,"ax" .pushsection .fixup,"ax"
.align 2 .align 2
.Lfix: mov pc, r9 @ let the user eat segfaults .Lfix: mov pc, r9 @ let the user eat segfaults
.previous .popsection
.section __ex_table,"a" .pushsection __ex_table,"a"
.align 3 .align 3
.long .Lx1, .Lfix .long .Lx1, .Lfix
.previous .popsection
...@@ -91,6 +91,12 @@ static int pl061_direction_output(struct gpio_chip *gc, unsigned offset, ...@@ -91,6 +91,12 @@ static int pl061_direction_output(struct gpio_chip *gc, unsigned offset,
gpiodir = readb(chip->base + GPIODIR); gpiodir = readb(chip->base + GPIODIR);
gpiodir |= 1 << offset; gpiodir |= 1 << offset;
writeb(gpiodir, chip->base + GPIODIR); writeb(gpiodir, chip->base + GPIODIR);
/*
* gpio value is set again, because pl061 doesn't allow to set value of
* a gpio pin before configuring it in OUT mode.
*/
writeb(!!value << offset, chip->base + (1 << (offset + 2)));
spin_unlock_irqrestore(&chip->lock, flags); spin_unlock_irqrestore(&chip->lock, flags);
return 0; return 0;
...@@ -183,7 +189,7 @@ static int pl061_irq_type(unsigned irq, unsigned trigger) ...@@ -183,7 +189,7 @@ static int pl061_irq_type(unsigned irq, unsigned trigger)
gpioibe &= ~(1 << offset); gpioibe &= ~(1 << offset);
if (trigger & IRQ_TYPE_EDGE_RISING) if (trigger & IRQ_TYPE_EDGE_RISING)
gpioiev |= 1 << offset; gpioiev |= 1 << offset;
else else if (trigger & IRQ_TYPE_EDGE_FALLING)
gpioiev &= ~(1 << offset); gpioiev &= ~(1 << offset);
} }
writeb(gpioibe, chip->base + GPIOIBE); writeb(gpioibe, chip->base + GPIOIBE);
...@@ -204,7 +210,7 @@ static struct irq_chip pl061_irqchip = { ...@@ -204,7 +210,7 @@ static struct irq_chip pl061_irqchip = {
static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) static void pl061_irq_handler(unsigned irq, struct irq_desc *desc)
{ {
struct list_head *chip_list = get_irq_chip_data(irq); struct list_head *chip_list = get_irq_data(irq);
struct list_head *ptr; struct list_head *ptr;
struct pl061_gpio *chip; struct pl061_gpio *chip;
...@@ -297,9 +303,9 @@ static int __init pl061_probe(struct amba_device *dev, struct amba_id *id) ...@@ -297,9 +303,9 @@ static int __init pl061_probe(struct amba_device *dev, struct amba_id *id)
goto iounmap; goto iounmap;
} }
INIT_LIST_HEAD(chip_list); INIT_LIST_HEAD(chip_list);
set_irq_chip_data(irq, chip_list); set_irq_data(irq, chip_list);
} else } else
chip_list = get_irq_chip_data(irq); chip_list = get_irq_data(irq);
list_add(&chip->list, chip_list); list_add(&chip->list, chip_list);
for (i = 0; i < PL061_GPIO_NR; i++) { for (i = 0; i < PL061_GPIO_NR; i++) {
......
...@@ -650,6 +650,7 @@ static struct console ks8695_console = { ...@@ -650,6 +650,7 @@ static struct console ks8695_console = {
static int __init ks8695_console_init(void) static int __init ks8695_console_init(void)
{ {
add_preferred_console(SERIAL_KS8695_DEVNAME, 0, NULL);
register_console(&ks8695_console); register_console(&ks8695_console);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment