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