]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - arch/arm/Kconfig
Merge tag 'davinci-for-v3.8/dt' of git://gitorious.org/linux-davinci/linux-davinci...
[can-eth-gw-linux.git] / arch / arm / Kconfig
index 7bab17ed29729b84c464be57d6aa9e76a9c7369d..dbbe74c10b1ce2ea9e082c570bca360d3ea0286a 100644 (file)
@@ -1,54 +1,60 @@
 config ARM
        bool
        default y
+       select ARCH_BINFMT_ELF_RANDOMIZE_PIE
+       select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
        select ARCH_HAVE_CUSTOM_GPIO_H
-       select HAVE_AOUT
-       select HAVE_DMA_API_DEBUG
-       select HAVE_IDE if PCI || ISA || PCMCIA
-       select HAVE_DMA_ATTRS
-       select HAVE_DMA_CONTIGUOUS if MMU
-       select HAVE_MEMBLOCK
-       select RTC_LIB
-       select SYS_SUPPORTS_APM_EMULATION
+       select ARCH_WANT_IPC_PARSE_VERSION
+       select CPU_PM if (SUSPEND || CPU_IDLE)
+       select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN
        select GENERIC_ATOMIC64 if (CPU_V6 || !CPU_32v6K || !AEABI)
-       select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
-       select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
+       select GENERIC_CLOCKEVENTS_BROADCAST if SMP
+       select GENERIC_IRQ_PROBE
+       select GENERIC_IRQ_SHOW
+       select GENERIC_KERNEL_THREAD
+       select GENERIC_KERNEL_EXECVE
+       select GENERIC_PCI_IOMAP
+       select GENERIC_SMP_IDLE_THREAD
+       select GENERIC_STRNCPY_FROM_USER
+       select GENERIC_STRNLEN_USER
+       select HARDIRQS_SW_RESEND
+       select HAVE_AOUT
        select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_TRACEHOOK
-       select HAVE_KPROBES if !XIP_KERNEL
-       select HAVE_KRETPROBES if (HAVE_KPROBES)
-       select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
-       select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
+       select HAVE_BPF_JIT
+       select HAVE_C_RECORDMCOUNT
+       select HAVE_DEBUG_KMEMLEAK
+       select HAVE_DMA_API_DEBUG
+       select HAVE_DMA_ATTRS
+       select HAVE_DMA_CONTIGUOUS if MMU
        select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
+       select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
        select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
-       select ARCH_BINFMT_ELF_RANDOMIZE_PIE
+       select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
        select HAVE_GENERIC_DMA_COHERENT
+       select HAVE_GENERIC_HARDIRQS
+       select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
+       select HAVE_IDE if PCI || ISA || PCMCIA
+       select HAVE_IRQ_WORK
        select HAVE_KERNEL_GZIP
-       select HAVE_KERNEL_LZO
        select HAVE_KERNEL_LZMA
+       select HAVE_KERNEL_LZO
        select HAVE_KERNEL_XZ
-       select HAVE_IRQ_WORK
+       select HAVE_KPROBES if !XIP_KERNEL
+       select HAVE_KRETPROBES if (HAVE_KPROBES)
+       select HAVE_MEMBLOCK
+       select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
        select HAVE_PERF_EVENTS
-       select PERF_USE_VMALLOC
        select HAVE_REGS_AND_STACK_ACCESS_API
-       select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
-       select HAVE_C_RECORDMCOUNT
-       select HAVE_GENERIC_HARDIRQS
-       select HARDIRQS_SW_RESEND
-       select GENERIC_IRQ_PROBE
-       select GENERIC_IRQ_SHOW
-       select ARCH_WANT_IPC_PARSE_VERSION
-       select HARDIRQS_SW_RESEND
-       select CPU_PM if (SUSPEND || CPU_IDLE)
-       select GENERIC_PCI_IOMAP
-       select HAVE_BPF_JIT
-       select GENERIC_SMP_IDLE_THREAD
+       select HAVE_SYSCALL_TRACEPOINTS
+       select HAVE_UID16
        select KTIME_SCALAR
-       select GENERIC_CLOCKEVENTS_BROADCAST if SMP
-       select GENERIC_STRNCPY_FROM_USER
-       select GENERIC_STRNLEN_USER
-       select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN
+       select PERF_USE_VMALLOC
+       select RTC_LIB
+       select SYS_SUPPORTS_APM_EMULATION
+       select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND
+       select MODULES_USE_ELF_REL
        help
          The ARM series is a line of low-power-consumption RISC chip designs
          licensed by ARM Ltd and targeted at embedded applications and
@@ -64,9 +70,9 @@ config NEED_SG_DMA_LENGTH
        bool
 
 config ARM_DMA_USE_IOMMU
-       select NEED_SG_DMA_LENGTH
-       select ARM_HAS_SG_CHAIN
        bool
+       select ARM_HAS_SG_CHAIN
+       select NEED_SG_DMA_LENGTH
 
 config HAVE_PWM
        bool
@@ -258,69 +264,69 @@ choice
 
 config ARCH_MULTIPLATFORM
        bool "Allow multiple platforms to be selected"
+       depends on MMU
        select ARM_PATCH_PHYS_VIRT
        select AUTO_ZRELADDR
        select COMMON_CLK
        select MULTI_IRQ_HANDLER
        select SPARSE_IRQ
        select USE_OF
-       depends on MMU
 
 config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
-       select ARM_AMBA
        select ARCH_HAS_CPUFREQ
+       select ARM_AMBA
        select COMMON_CLK
        select COMMON_CLK_VERSATILE
+       select GENERIC_CLOCKEVENTS
        select HAVE_TCM
        select ICST
-       select GENERIC_CLOCKEVENTS
+       select MULTI_IRQ_HANDLER
+       select NEED_MACH_MEMORY_H
        select PLAT_VERSATILE
        select PLAT_VERSATILE_FPGA_IRQ
-       select NEED_MACH_MEMORY_H
        select SPARSE_IRQ
-       select MULTI_IRQ_HANDLER
        help
          Support for ARM's Integrator platform.
 
 config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
+       select ARCH_WANT_OPTIONAL_GPIOLIB
        select ARM_AMBA
+       select ARM_TIMER_SP804
        select COMMON_CLK
        select COMMON_CLK_VERSATILE
-       select ICST
        select GENERIC_CLOCKEVENTS
-       select ARCH_WANT_OPTIONAL_GPIOLIB
-       select PLAT_VERSATILE
-       select PLAT_VERSATILE_CLCD
-       select ARM_TIMER_SP804
        select GPIO_PL061 if GPIOLIB
+       select ICST
        select NEED_MACH_MEMORY_H
+       select PLAT_VERSATILE
+       select PLAT_VERSATILE_CLCD
        help
          This enables support for ARM Ltd RealView boards.
 
 config ARCH_VERSATILE
        bool "ARM Ltd. Versatile family"
+       select ARCH_WANT_OPTIONAL_GPIOLIB
        select ARM_AMBA
+       select ARM_TIMER_SP804
        select ARM_VIC
        select CLKDEV_LOOKUP
+       select GENERIC_CLOCKEVENTS
        select HAVE_MACH_CLKDEV
        select ICST
-       select GENERIC_CLOCKEVENTS
-       select ARCH_WANT_OPTIONAL_GPIOLIB
        select PLAT_VERSATILE
-       select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_CLCD
+       select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_FPGA_IRQ
-       select ARM_TIMER_SP804
        help
          This enables support for ARM Ltd Versatile board.
 
 config ARCH_AT91
        bool "Atmel AT91"
        select ARCH_REQUIRE_GPIOLIB
-       select HAVE_CLK
        select CLKDEV_LOOKUP
+       select HAVE_CLK
        select IRQ_DOMAIN
        select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H if PCCARD
@@ -345,43 +351,43 @@ config ARCH_BCM2835
          This enables support for the Broadcom BCM2835 SoC. This SoC is
          use in the Raspberry Pi, and Roku 2 devices.
 
-config ARCH_CLPS711X
-       bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
-       select CPU_ARM720T
-       select ARCH_USES_GETTIMEOFFSET
-       select COMMON_CLK
-       select CLKDEV_LOOKUP
-       select NEED_MACH_MEMORY_H
-       help
-         Support for Cirrus Logic 711x/721x/731x based boards.
-
 config ARCH_CNS3XXX
        bool "Cavium Networks CNS3XXX family"
+       select ARM_GIC
        select CPU_V6K
        select GENERIC_CLOCKEVENTS
-       select ARM_GIC
        select MIGHT_HAVE_CACHE_L2X0
        select MIGHT_HAVE_PCI
        select PCI_DOMAINS if PCI
        help
          Support for Cavium Networks CNS3XXX platform.
 
+config ARCH_CLPS711X
+       bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
+       select ARCH_USES_GETTIMEOFFSET
+       select CLKDEV_LOOKUP
+       select COMMON_CLK
+       select CPU_ARM720T
+       select NEED_MACH_MEMORY_H
+       help
+         Support for Cirrus Logic 711x/721x/731x based boards.
+
 config ARCH_GEMINI
        bool "Cortina Systems Gemini"
-       select CPU_FA526
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_USES_GETTIMEOFFSET
+       select CPU_FA526
        help
          Support for the Cortina Systems Gemini family SoCs
 
 config ARCH_SIRF
        bool "CSR SiRF"
-       select NO_IOPORT
        select ARCH_REQUIRE_GPIOLIB
-       select GENERIC_CLOCKEVENTS
        select COMMON_CLK
+       select GENERIC_CLOCKEVENTS
        select GENERIC_IRQ_CHIP
        select MIGHT_HAVE_CACHE_L2X0
+       select NO_IOPORT
        select PINCTRL
        select PINCTRL_SIRF
        select USE_OF
@@ -390,12 +396,12 @@ config ARCH_SIRF
 
 config ARCH_EBSA110
        bool "EBSA-110"
+       select ARCH_USES_GETTIMEOFFSET
        select CPU_SA110
        select ISA
-       select NO_IOPORT
-       select ARCH_USES_GETTIMEOFFSET
        select NEED_MACH_IO_H
        select NEED_MACH_MEMORY_H
+       select NO_IOPORT
        help
          This is an evaluation board for the StrongARM processor available
          from Digital. It has limited hardware on-board, including an
@@ -404,13 +410,13 @@ config ARCH_EBSA110
 
 config ARCH_EP93XX
        bool "EP93xx-based"
-       select CPU_ARM920T
+       select ARCH_HAS_HOLES_MEMORYMODEL
+       select ARCH_REQUIRE_GPIOLIB
+       select ARCH_USES_GETTIMEOFFSET
        select ARM_AMBA
        select ARM_VIC
        select CLKDEV_LOOKUP
-       select ARCH_REQUIRE_GPIOLIB
-       select ARCH_HAS_HOLES_MEMORYMODEL
-       select ARCH_USES_GETTIMEOFFSET
+       select CPU_ARM920T
        select NEED_MACH_MEMORY_H
        help
          This enables support for the Cirrus EP93xx series of CPUs.
@@ -427,26 +433,13 @@ config ARCH_FOOTBRIDGE
          Support for systems based on the DC21285 companion chip
          ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
 
-config ARCH_MXC
-       bool "Freescale MXC/iMX-based"
-       select GENERIC_CLOCKEVENTS
-       select ARCH_REQUIRE_GPIOLIB
-       select CLKDEV_LOOKUP
-       select CLKSRC_MMIO
-       select GENERIC_IRQ_CHIP
-       select MULTI_IRQ_HANDLER
-       select SPARSE_IRQ
-       select USE_OF
-       help
-         Support for Freescale MXC/iMX-based family of processors
-
 config ARCH_MXS
        bool "Freescale MXS-based"
-       select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
        select COMMON_CLK
+       select GENERIC_CLOCKEVENTS
        select HAVE_CLK_PREPARE
        select MULTI_IRQ_HANDLER
        select PINCTRL
@@ -457,44 +450,43 @@ config ARCH_MXS
 
 config ARCH_NETX
        bool "Hilscher NetX based"
+       select ARM_VIC
        select CLKSRC_MMIO
        select CPU_ARM926T
-       select ARM_VIC
        select GENERIC_CLOCKEVENTS
        help
          This enables support for systems based on the Hilscher NetX Soc
 
 config ARCH_H720X
        bool "Hynix HMS720x-based"
+       select ARCH_USES_GETTIMEOFFSET
        select CPU_ARM720T
        select ISA_DMA_API
-       select ARCH_USES_GETTIMEOFFSET
        help
          This enables support for systems based on the Hynix HMS720x
 
 config ARCH_IOP13XX
        bool "IOP13xx-based"
        depends on MMU
-       select CPU_XSC3
-       select PLAT_IOP
-       select PCI
        select ARCH_SUPPORTS_MSI
-       select VMSPLIT_1G
+       select CPU_XSC3
        select NEED_MACH_MEMORY_H
        select NEED_RET_TO_USER
+       select PCI
+       select PLAT_IOP
+       select VMSPLIT_1G
        help
          Support for Intel's IOP13XX (XScale) family of processors.
 
 config ARCH_IOP32X
        bool "IOP32x-based"
        depends on MMU
+       select ARCH_REQUIRE_GPIOLIB
        select CPU_XSCALE
        select NEED_MACH_GPIO_H
-       select NEED_MACH_IO_H
        select NEED_RET_TO_USER
-       select PLAT_IOP
        select PCI
-       select ARCH_REQUIRE_GPIOLIB
+       select PLAT_IOP
        help
          Support for Intel's 80219 and IOP32X (XScale) family of
          processors.
@@ -502,13 +494,12 @@ config ARCH_IOP32X
 config ARCH_IOP33X
        bool "IOP33x-based"
        depends on MMU
+       select ARCH_REQUIRE_GPIOLIB
        select CPU_XSCALE
        select NEED_MACH_GPIO_H
-       select NEED_MACH_IO_H
        select NEED_RET_TO_USER
-       select PLAT_IOP
        select PCI
-       select ARCH_REQUIRE_GPIOLIB
+       select PLAT_IOP
        help
          Support for Intel's IOP33X (XScale) family of processors.
 
@@ -516,59 +507,45 @@ config ARCH_IXP4XX
        bool "IXP4xx-based"
        depends on MMU
        select ARCH_HAS_DMA_SET_COHERENT_MASK
+       select ARCH_REQUIRE_GPIOLIB
        select CLKSRC_MMIO
        select CPU_XSCALE
-       select ARCH_REQUIRE_GPIOLIB
+       select DMABOUNCE if PCI
        select GENERIC_CLOCKEVENTS
        select MIGHT_HAVE_PCI
        select NEED_MACH_IO_H
-       select DMABOUNCE if PCI
        help
          Support for Intel's IXP4XX (XScale) family of processors.
 
 config ARCH_DOVE
        bool "Marvell Dove"
-       select CPU_V7
-       select PCI
        select ARCH_REQUIRE_GPIOLIB
+       select CPU_V7
        select GENERIC_CLOCKEVENTS
-       select PLAT_ORION
+       select MIGHT_HAVE_PCI
+       select PLAT_ORION_LEGACY
+       select USB_ARCH_HAS_EHCI
        help
          Support for the Marvell Dove SoC 88AP510
 
 config ARCH_KIRKWOOD
        bool "Marvell Kirkwood"
-       select CPU_FEROCEON
-       select PCI
        select ARCH_REQUIRE_GPIOLIB
+       select CPU_FEROCEON
        select GENERIC_CLOCKEVENTS
-       select PLAT_ORION
+       select PCI
+       select PLAT_ORION_LEGACY
        help
          Support for the following Marvell Kirkwood series SoCs:
          88F6180, 88F6192 and 88F6281.
 
-config ARCH_LPC32XX
-       bool "NXP LPC32XX"
-       select CLKSRC_MMIO
-       select CPU_ARM926T
-       select ARCH_REQUIRE_GPIOLIB
-       select HAVE_IDE
-       select ARM_AMBA
-       select USB_ARCH_HAS_OHCI
-       select CLKDEV_LOOKUP
-       select GENERIC_CLOCKEVENTS
-       select USE_OF
-       select HAVE_PWM
-       help
-         Support for the NXP LPC32XX family of processors
-
 config ARCH_MV78XX0
        bool "Marvell MV78xx0"
-       select CPU_FEROCEON
-       select PCI
        select ARCH_REQUIRE_GPIOLIB
+       select CPU_FEROCEON
        select GENERIC_CLOCKEVENTS
-       select PLAT_ORION
+       select PCI
+       select PLAT_ORION_LEGACY
        help
          Support for the following Marvell MV78xx0 series SoCs:
          MV781x0, MV782x0.
@@ -576,11 +553,11 @@ config ARCH_MV78XX0
 config ARCH_ORION5X
        bool "Marvell Orion"
        depends on MMU
-       select CPU_FEROCEON
-       select PCI
        select ARCH_REQUIRE_GPIOLIB
+       select CPU_FEROCEON
        select GENERIC_CLOCKEVENTS
-       select PLAT_ORION
+       select PCI
+       select PLAT_ORION_LEGACY
        help
          Support for the following Marvell Orion 5x series SoCs:
          Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
@@ -591,33 +568,33 @@ config ARCH_MMP
        depends on MMU
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
+       select GENERIC_ALLOCATOR
        select GENERIC_CLOCKEVENTS
        select GPIO_PXA
        select IRQ_DOMAIN
+       select NEED_MACH_GPIO_H
        select PLAT_PXA
        select SPARSE_IRQ
-       select GENERIC_ALLOCATOR
-       select NEED_MACH_GPIO_H
        help
          Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
 
 config ARCH_KS8695
        bool "Micrel/Kendin KS8695"
-       select CPU_ARM922T
        select ARCH_REQUIRE_GPIOLIB
-       select NEED_MACH_MEMORY_H
        select CLKSRC_MMIO
+       select CPU_ARM922T
        select GENERIC_CLOCKEVENTS
+       select NEED_MACH_MEMORY_H
        help
          Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
          System-on-Chip devices.
 
 config ARCH_W90X900
        bool "Nuvoton W90X900 CPU"
-       select CPU_ARM926T
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
+       select CPU_ARM926T
        select GENERIC_CLOCKEVENTS
        help
          Support for Nuvoton (Winbond logic dept.) ARM9 processor,
@@ -628,18 +605,33 @@ config ARCH_W90X900
          <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
                ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
 
+config ARCH_LPC32XX
+       bool "NXP LPC32XX"
+       select ARCH_REQUIRE_GPIOLIB
+       select ARM_AMBA
+       select CLKDEV_LOOKUP
+       select CLKSRC_MMIO
+       select CPU_ARM926T
+       select GENERIC_CLOCKEVENTS
+       select HAVE_IDE
+       select HAVE_PWM
+       select USB_ARCH_HAS_OHCI
+       select USE_OF
+       help
+         Support for the NXP LPC32XX family of processors
+
 config ARCH_TEGRA
        bool "NVIDIA Tegra"
+       select ARCH_HAS_CPUFREQ
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
+       select COMMON_CLK
        select GENERIC_CLOCKEVENTS
        select GENERIC_GPIO
        select HAVE_CLK
        select HAVE_SMP
        select MIGHT_HAVE_CACHE_L2X0
-       select ARCH_HAS_CPUFREQ
        select USE_OF
-       select COMMON_CLK
        help
          This enables support for NVIDIA Tegra based systems (Tegra APX,
          Tegra 6xx and Tegra 2 series).
@@ -647,29 +639,29 @@ config ARCH_TEGRA
 config ARCH_PXA
        bool "PXA2xx/PXA3xx-based"
        depends on MMU
-       select ARCH_MTD_XIP
        select ARCH_HAS_CPUFREQ
+       select ARCH_MTD_XIP
+       select ARCH_REQUIRE_GPIOLIB
+       select ARM_CPU_SUSPEND if PM
+       select AUTO_ZRELADDR
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
-       select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
        select GPIO_PXA
-       select PLAT_PXA
-       select SPARSE_IRQ
-       select AUTO_ZRELADDR
-       select MULTI_IRQ_HANDLER
-       select ARM_CPU_SUSPEND if PM
        select HAVE_IDE
+       select MULTI_IRQ_HANDLER
        select NEED_MACH_GPIO_H
+       select PLAT_PXA
+       select SPARSE_IRQ
        help
          Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
 
 config ARCH_MSM
        bool "Qualcomm MSM"
-       select HAVE_CLK
-       select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
+       select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
        help
          Support for Qualcomm MSM/QSD based systems.  This runs on the
          apps processor of the MSM/QSD and depends on a shared memory
@@ -679,50 +671,50 @@ config ARCH_MSM
 
 config ARCH_SHMOBILE
        bool "Renesas SH-Mobile / R-Mobile"
-       select HAVE_CLK
        select CLKDEV_LOOKUP
+       select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
        select HAVE_MACH_CLKDEV
        select HAVE_SMP
-       select GENERIC_CLOCKEVENTS
        select MIGHT_HAVE_CACHE_L2X0
-       select NO_IOPORT
-       select SPARSE_IRQ
        select MULTI_IRQ_HANDLER
-       select PM_GENERIC_DOMAINS if PM
        select NEED_MACH_MEMORY_H
+       select NO_IOPORT
+       select PM_GENERIC_DOMAINS if PM
+       select SPARSE_IRQ
        help
          Support for Renesas's SH-Mobile and R-Mobile ARM platforms.
 
 config ARCH_RPC
        bool "RiscPC"
        select ARCH_ACORN
-       select FIQ
        select ARCH_MAY_HAVE_PC_FDC
-       select HAVE_PATA_PLATFORM
-       select ISA_DMA_API
-       select NO_IOPORT
        select ARCH_SPARSEMEM_ENABLE
        select ARCH_USES_GETTIMEOFFSET
+       select FIQ
        select HAVE_IDE
+       select HAVE_PATA_PLATFORM
+       select ISA_DMA_API
        select NEED_MACH_IO_H
        select NEED_MACH_MEMORY_H
+       select NO_IOPORT
        help
          On the Acorn Risc-PC, Linux can support the internal IDE disk and
          CD-ROM interface, serial and parallel port, and the floppy drive.
 
 config ARCH_SA1100
        bool "SA1100-based"
-       select CLKSRC_MMIO
-       select CPU_SA1100
-       select ISA
-       select ARCH_SPARSEMEM_ENABLE
-       select ARCH_MTD_XIP
        select ARCH_HAS_CPUFREQ
+       select ARCH_MTD_XIP
+       select ARCH_REQUIRE_GPIOLIB
+       select ARCH_SPARSEMEM_ENABLE
+       select CLKDEV_LOOKUP
+       select CLKSRC_MMIO
        select CPU_FREQ
+       select CPU_SA1100
        select GENERIC_CLOCKEVENTS
-       select CLKDEV_LOOKUP
-       select ARCH_REQUIRE_GPIOLIB
        select HAVE_IDE
+       select ISA
        select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        select SPARSE_IRQ
@@ -731,14 +723,14 @@ config ARCH_SA1100
 
 config ARCH_S3C24XX
        bool "Samsung S3C24XX SoCs"
-       select GENERIC_GPIO
        select ARCH_HAS_CPUFREQ
-       select HAVE_CLK
-       select CLKDEV_LOOKUP
        select ARCH_USES_GETTIMEOFFSET
+       select CLKDEV_LOOKUP
+       select GENERIC_GPIO
+       select HAVE_CLK
        select HAVE_S3C2410_I2C if I2C
-       select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
+       select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        help
@@ -749,38 +741,38 @@ config ARCH_S3C24XX
 
 config ARCH_S3C64XX
        bool "Samsung S3C64XX"
-       select PLAT_SAMSUNG
-       select CPU_V6
+       select ARCH_HAS_CPUFREQ
+       select ARCH_REQUIRE_GPIOLIB
+       select ARCH_USES_GETTIMEOFFSET
        select ARM_VIC
+       select CLKDEV_LOOKUP
+       select CPU_V6
        select HAVE_CLK
+       select HAVE_S3C2410_I2C if I2C
+       select HAVE_S3C2410_WATCHDOG if WATCHDOG
        select HAVE_TCM
-       select CLKDEV_LOOKUP
+       select NEED_MACH_GPIO_H
        select NO_IOPORT
-       select ARCH_USES_GETTIMEOFFSET
-       select ARCH_HAS_CPUFREQ
-       select ARCH_REQUIRE_GPIOLIB
+       select PLAT_SAMSUNG
+       select S3C_DEV_NAND
+       select S3C_GPIO_TRACK
        select SAMSUNG_CLKSRC
+       select SAMSUNG_GPIOLIB_4BIT
        select SAMSUNG_IRQ_VIC_TIMER
-       select S3C_GPIO_TRACK
-       select S3C_DEV_NAND
        select USB_ARCH_HAS_OHCI
-       select SAMSUNG_GPIOLIB_4BIT
-       select HAVE_S3C2410_I2C if I2C
-       select HAVE_S3C2410_WATCHDOG if WATCHDOG
-       select NEED_MACH_GPIO_H
        help
          Samsung S3C64XX series based systems
 
 config ARCH_S5P64X0
        bool "Samsung S5P6440 S5P6450"
-       select CPU_V6
-       select GENERIC_GPIO
-       select HAVE_CLK
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
-       select HAVE_S3C2410_WATCHDOG if WATCHDOG
+       select CPU_V6
        select GENERIC_CLOCKEVENTS
+       select GENERIC_GPIO
+       select HAVE_CLK
        select HAVE_S3C2410_I2C if I2C
+       select HAVE_S3C2410_WATCHDOG if WATCHDOG
        select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
        help
@@ -789,50 +781,50 @@ config ARCH_S5P64X0
 
 config ARCH_S5PC100
        bool "Samsung S5PC100"
-       select GENERIC_GPIO
-       select HAVE_CLK
+       select ARCH_USES_GETTIMEOFFSET
        select CLKDEV_LOOKUP
        select CPU_V7
-       select ARCH_USES_GETTIMEOFFSET
+       select GENERIC_GPIO
+       select HAVE_CLK
        select HAVE_S3C2410_I2C if I2C
-       select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
+       select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
        help
          Samsung S5PC100 series based systems
 
 config ARCH_S5PV210
        bool "Samsung S5PV210/S5PC110"
-       select CPU_V7
-       select ARCH_SPARSEMEM_ENABLE
+       select ARCH_HAS_CPUFREQ
        select ARCH_HAS_HOLES_MEMORYMODEL
-       select GENERIC_GPIO
-       select HAVE_CLK
+       select ARCH_SPARSEMEM_ENABLE
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
-       select ARCH_HAS_CPUFREQ
+       select CPU_V7
        select GENERIC_CLOCKEVENTS
+       select GENERIC_GPIO
+       select HAVE_CLK
        select HAVE_S3C2410_I2C if I2C
-       select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
+       select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        help
          Samsung S5PV210/S5PC110 series based systems
 
 config ARCH_EXYNOS
-       bool "SAMSUNG EXYNOS"
-       select CPU_V7
-       select ARCH_SPARSEMEM_ENABLE
+       bool "Samsung EXYNOS"
+       select ARCH_HAS_CPUFREQ
        select ARCH_HAS_HOLES_MEMORYMODEL
-       select GENERIC_GPIO
-       select HAVE_CLK
+       select ARCH_SPARSEMEM_ENABLE
        select CLKDEV_LOOKUP
-       select ARCH_HAS_CPUFREQ
+       select CPU_V7
        select GENERIC_CLOCKEVENTS
-       select HAVE_S3C_RTC if RTC_CLASS
+       select GENERIC_GPIO
+       select HAVE_CLK
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
+       select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        help
@@ -840,13 +832,13 @@ config ARCH_EXYNOS
 
 config ARCH_SHARK
        bool "Shark"
+       select ARCH_USES_GETTIMEOFFSET
        select CPU_SA110
        select ISA
        select ISA_DMA
-       select ZONE_DMA
-       select PCI
-       select ARCH_USES_GETTIMEOFFSET
        select NEED_MACH_MEMORY_H
+       select PCI
+       select ZONE_DMA
        help
          Support for the StrongARM based Digital DNARD machine, also known
          as "Shark" (<http://www.shark-linux.de/shark.html>).
@@ -854,17 +846,17 @@ config ARCH_SHARK
 config ARCH_U300
        bool "ST-Ericsson U300 Series"
        depends on MMU
-       select CLKSRC_MMIO
-       select CPU_ARM926T
-       select HAVE_TCM
+       select ARCH_REQUIRE_GPIOLIB
        select ARM_AMBA
        select ARM_PATCH_PHYS_VIRT
        select ARM_VIC
-       select GENERIC_CLOCKEVENTS
        select CLKDEV_LOOKUP
+       select CLKSRC_MMIO
        select COMMON_CLK
+       select CPU_ARM926T
+       select GENERIC_CLOCKEVENTS
        select GENERIC_GPIO
-       select ARCH_REQUIRE_GPIOLIB
+       select HAVE_TCM
        select SPARSE_IRQ
        help
          Support for ST-Ericsson U300 series mobile platforms.
@@ -872,12 +864,12 @@ config ARCH_U300
 config ARCH_U8500
        bool "ST-Ericsson U8500 Series"
        depends on MMU
-       select CPU_V7
+       select ARCH_HAS_CPUFREQ
+       select ARCH_REQUIRE_GPIOLIB
        select ARM_AMBA
-       select GENERIC_CLOCKEVENTS
        select CLKDEV_LOOKUP
-       select ARCH_REQUIRE_GPIOLIB
-       select ARCH_HAS_CPUFREQ
+       select CPU_V7
+       select GENERIC_CLOCKEVENTS
        select HAVE_SMP
        select MIGHT_HAVE_CACHE_L2X0
        help
@@ -885,78 +877,78 @@ config ARCH_U8500
 
 config ARCH_NOMADIK
        bool "STMicroelectronics Nomadik"
+       select ARCH_REQUIRE_GPIOLIB
        select ARM_AMBA
        select ARM_VIC
-       select CPU_ARM926T
        select COMMON_CLK
+       select CPU_ARM926T
        select GENERIC_CLOCKEVENTS
+       select MIGHT_HAVE_CACHE_L2X0
        select PINCTRL
        select PINCTRL_STN8815
-       select MIGHT_HAVE_CACHE_L2X0
-       select ARCH_REQUIRE_GPIOLIB
        help
          Support for the Nomadik platform by ST-Ericsson
 
+config PLAT_SPEAR
+       bool "ST SPEAr"
+       select ARCH_REQUIRE_GPIOLIB
+       select ARM_AMBA
+       select CLKDEV_LOOKUP
+       select CLKSRC_MMIO
+       select COMMON_CLK
+       select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
+       help
+         Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
+
 config ARCH_DAVINCI
        bool "TI DaVinci"
-       select GENERIC_CLOCKEVENTS
+       select ARCH_HAS_HOLES_MEMORYMODEL
        select ARCH_REQUIRE_GPIOLIB
-       select ZONE_DMA
-       select HAVE_IDE
        select CLKDEV_LOOKUP
        select GENERIC_ALLOCATOR
+       select GENERIC_CLOCKEVENTS
        select GENERIC_IRQ_CHIP
-       select ARCH_HAS_HOLES_MEMORYMODEL
+       select HAVE_IDE
        select NEED_MACH_GPIO_H
+       select USE_OF
+       select ZONE_DMA
        help
          Support for TI's DaVinci platform.
 
 config ARCH_OMAP
        bool "TI OMAP"
        depends on MMU
-       select HAVE_CLK
-       select ARCH_REQUIRE_GPIOLIB
        select ARCH_HAS_CPUFREQ
-       select CLKSRC_MMIO
-       select GENERIC_CLOCKEVENTS
        select ARCH_HAS_HOLES_MEMORYMODEL
-       select NEED_MACH_GPIO_H
-       help
-         Support for TI's OMAP platform (OMAP1/2/3/4).
-
-config PLAT_SPEAR
-       bool "ST SPEAr"
-       select ARM_AMBA
        select ARCH_REQUIRE_GPIOLIB
-       select CLKDEV_LOOKUP
-       select COMMON_CLK
        select CLKSRC_MMIO
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        help
-         Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
+         Support for TI's OMAP platform (OMAP1/2/3/4).
 
 config ARCH_VT8500
        bool "VIA/WonderMedia 85xx"
-       select CPU_ARM926T
-       select GENERIC_GPIO
        select ARCH_HAS_CPUFREQ
-       select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
-       select USE_OF
+       select CLKDEV_LOOKUP
        select COMMON_CLK
+       select CPU_ARM926T
+       select GENERIC_CLOCKEVENTS
+       select GENERIC_GPIO
        select HAVE_CLK
-       select CLKDEV_LOOKUP
+       select USE_OF
        help
          Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
 
 config ARCH_ZYNQ
        bool "Xilinx Zynq ARM Cortex A9 Platform"
+       select ARM_AMBA
+       select ARM_GIC
+       select COMMON_CLK
        select CPU_V7
        select GENERIC_CLOCKEVENTS
-       select CLKDEV_LOOKUP
-       select ARM_GIC
-       select ARM_AMBA
        select ICST
        select MIGHT_HAVE_CACHE_L2X0
        select USE_OF
@@ -971,33 +963,33 @@ comment "CPU Core family selection"
 
 config ARCH_MULTI_V4
        bool "ARMv4 based platforms (FA526, StrongARM)"
-       select ARCH_MULTI_V4_V5
        depends on !ARCH_MULTI_V6_V7
+       select ARCH_MULTI_V4_V5
 
 config ARCH_MULTI_V4T
        bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
-       select ARCH_MULTI_V4_V5
        depends on !ARCH_MULTI_V6_V7
+       select ARCH_MULTI_V4_V5
 
 config ARCH_MULTI_V5
        bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
-       select ARCH_MULTI_V4_V5
        depends on !ARCH_MULTI_V6_V7
+       select ARCH_MULTI_V4_V5
 
 config ARCH_MULTI_V4_V5
        bool
 
 config ARCH_MULTI_V6
        bool "ARMv6 based platforms (ARM11, Scorpion, ...)"
-       select CPU_V6
        select ARCH_MULTI_V6_V7
+       select CPU_V6
 
 config ARCH_MULTI_V7
        bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
-       select CPU_V7
-       select ARCH_VEXPRESS
        default y
        select ARCH_MULTI_V6_V7
+       select ARCH_VEXPRESS
+       select CPU_V7
 
 config ARCH_MULTI_V6_V7
        bool
@@ -1053,7 +1045,7 @@ source "arch/arm/mach-msm/Kconfig"
 
 source "arch/arm/mach-mv78xx0/Kconfig"
 
-source "arch/arm/plat-mxc/Kconfig"
+source "arch/arm/mach-imx/Kconfig"
 
 source "arch/arm/mach-mxs/Kconfig"
 
@@ -1134,9 +1126,13 @@ config PLAT_IOP
 config PLAT_ORION
        bool
        select CLKSRC_MMIO
+       select COMMON_CLK
        select GENERIC_IRQ_CHIP
        select IRQ_DOMAIN
-       select COMMON_CLK
+
+config PLAT_ORION_LEGACY
+       bool
+       select PLAT_ORION
 
 config PLAT_PXA
        bool
@@ -1397,6 +1393,16 @@ config PL310_ERRATA_769419
          on systems with an outer cache, the store buffer is drained
          explicitly.
 
+config ARM_ERRATA_775420
+       bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock"
+       depends on CPU_V7
+       help
+        This option enables the workaround for the 775420 Cortex-A9 (r2p2,
+        r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
+        operation aborts with MMU exception, it might cause the processor
+        to deadlock. This workaround puts DSB before executing ISB if
+        an abort may occur on cache maintenance.
+
 endmenu
 
 source "arch/arm/common/Kconfig"
@@ -1480,8 +1486,8 @@ config SMP
        depends on GENERIC_CLOCKEVENTS
        depends on HAVE_SMP
        depends on MMU
-       select USE_GENERIC_SMP_HELPERS
        select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP
+       select USE_GENERIC_SMP_HELPERS
        help
          This enables support for systems with more than one CPU. If you have
          a system with only one CPU, like most personal computers, say N. If
@@ -1584,8 +1590,8 @@ config NR_CPUS
        default "4"
 
 config HOTPLUG_CPU
-       bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
-       depends on SMP && HOTPLUG && EXPERIMENTAL
+       bool "Support for hot-pluggable CPUs"
+       depends on SMP && HOTPLUG
        help
          Say Y here to experiment with turning CPUs off and on.  CPUs
          can be controlled through /sys/devices/system/cpu.
@@ -1626,8 +1632,8 @@ config HZ
        default 100
 
 config THUMB2_KERNEL
-       bool "Compile the kernel in Thumb-2 mode (EXPERIMENTAL)"
-       depends on CPU_V7 && !CPU_V6 && !CPU_V6K && EXPERIMENTAL
+       bool "Compile the kernel in Thumb-2 mode"
+       depends on CPU_V7 && !CPU_V6 && !CPU_V6K
        select AEABI
        select ARM_ASM_UNIFIED
        select ARM_UNWIND
@@ -1753,6 +1759,7 @@ source "mm/Kconfig"
 config FORCE_MAX_ZONEORDER
        int "Maximum zone order" if ARCH_SHMOBILE
        range 11 64 if ARCH_SHMOBILE
+       default "12" if SOC_AM33XX
        default "9" if SA1111
        default "11"
        help
@@ -1781,8 +1788,8 @@ config ALIGNMENT_TRAP
          configuration it is safe to say N, otherwise say Y.
 
 config UACCESS_WITH_MEMCPY
-       bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
-       depends on MMU && EXPERIMENTAL
+       bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user()"
+       depends on MMU
        default y if CPU_FEROCEON
        help
          Implement faster copy_to_user and clear_user methods for CPU
@@ -1823,11 +1830,16 @@ config CC_STACKPROTECTOR
          neutralized via a kernel panic.
          This feature requires gcc version 4.2 or above.
 
-config DEPRECATED_PARAM_STRUCT
-       bool "Provide old way to pass kernel parameters"
+config XEN_DOM0
+       def_bool y
+       depends on XEN
+
+config XEN
+       bool "Xen guest support on ARM (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && ARM && OF
+       depends on CPU_V7 && !CPU_V6
        help
-         This was deprecated in 2001 and announced to live on for 5 years.
-         Some old boot loaders still use this way.
+         Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
 
 endmenu
 
@@ -1835,12 +1847,29 @@ menu "Boot options"
 
 config USE_OF
        bool "Flattened Device Tree support"
+       select IRQ_DOMAIN
        select OF
        select OF_EARLY_FLATTREE
-       select IRQ_DOMAIN
        help
          Include support for flattened device tree machine descriptions.
 
+config ATAGS
+       bool "Support for the traditional ATAGS boot data passing" if USE_OF
+       default y
+       help
+         This is the traditional way of passing data to the kernel at boot
+         time. If you are solely relying on the flattened device tree (or
+         the ARM_ATAG_DTB_COMPAT option) then you may unselect this option
+         to remove ATAGS support from your kernel binary.  If unsure,
+         leave this to y.
+
+config DEPRECATED_PARAM_STRUCT
+       bool "Provide old way to pass kernel parameters"
+       depends on ATAGS
+       help
+         This was deprecated in 2001 and announced to live on for 5 years.
+         Some old boot loaders still use this way.
+
 # Compressed boot loader in ROM.  Yes, we really want to ask about
 # TEXT and BSS so we preserve their values in the config files.
 config ZBOOT_ROM_TEXT
@@ -1967,6 +1996,7 @@ config CMDLINE
 choice
        prompt "Kernel command line type" if CMDLINE != ""
        default CMDLINE_FROM_BOOTLOADER
+       depends on ATAGS
 
 config CMDLINE_FROM_BOOTLOADER
        bool "Use bootloader kernel arguments if available"
@@ -2036,7 +2066,7 @@ config KEXEC
 
 config ATAGS_PROC
        bool "Export atags in procfs"
-       depends on KEXEC
+       depends on ATAGS && KEXEC
        default y
        help
          Should the atags used to boot the kernel be exported in an "atags"
@@ -2101,8 +2131,8 @@ config CPU_FREQ_PXA
        bool
        depends on CPU_FREQ && ARCH_PXA && PXA25x
        default y
-       select CPU_FREQ_TABLE
        select CPU_FREQ_DEFAULT_GOV_USERSPACE
+       select CPU_FREQ_TABLE
 
 config CPU_FREQ_S3C
        bool