Merge tag 'fixes-for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm...
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 22 Oct 2012 21:56:09 +0000 (22:56 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 22 Oct 2012 21:56:09 +0000 (22:56 +0100)
1  2 
arch/arm/Kconfig

diff --combined arch/arm/Kconfig
@@@ -1,60 -1,55 +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_SYSCALL_TRACEPOINTS
 -      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
@@@ -70,9 -65,9 +70,9 @@@ config NEED_SG_DMA_LENGT
        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
@@@ -264,69 -259,69 +264,69 @@@ choic
  
  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
@@@ -351,43 -346,43 +351,43 @@@ config ARCH_BCM283
          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
  
  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
  
  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.
@@@ -435,10 -430,10 +435,10 @@@ config ARCH_FOOTBRIDG
  
  config ARCH_MXC
        bool "Freescale MXC/iMX-based"
 -      select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
 +      select GENERIC_CLOCKEVENTS
        select GENERIC_IRQ_CHIP
        select MULTI_IRQ_HANDLER
        select SPARSE_IRQ
  
  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
  
  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.
  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.
  
@@@ -520,20 -517,20 +520,20 @@@ config ARCH_IXP4X
        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 ARCH_REQUIRE_GPIOLIB
 +      select CPU_V7
        select GENERIC_CLOCKEVENTS
        select MIGHT_HAVE_PCI
        select PLAT_ORION_LEGACY
  
  config ARCH_KIRKWOOD
        bool "Marvell Kirkwood"
 -      select CPU_FEROCEON
 -      select PCI
        select ARCH_REQUIRE_GPIOLIB
 +      select CPU_FEROCEON
        select GENERIC_CLOCKEVENTS
 +      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 PCI
        select PLAT_ORION_LEGACY
        help
          Support for the following Marvell MV78xx0 series SoCs:
  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 PCI
        select PLAT_ORION_LEGACY
        help
          Support for the following Marvell Orion 5x series SoCs:
@@@ -581,33 -593,33 +581,33 @@@ config ARCH_MM
        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,
          <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).
  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
  
  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
  
  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
  
  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
  
  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
  
  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>).
  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.
  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
  
  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 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
 +      select NEED_MACH_GPIO_H
        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 CLKDEV_LOOKUP
        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
@@@ -976,33 -973,33 +976,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
@@@ -1139,9 -1136,9 +1139,9 @@@ config PLAT_IO
  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
@@@ -1499,8 -1496,8 +1499,8 @@@ config SM
        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
@@@ -1603,8 -1600,8 +1603,8 @@@ config NR_CPU
        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.
@@@ -1645,8 -1642,8 +1645,8 @@@ config H
        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
@@@ -1772,7 -1769,6 +1772,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
@@@ -1850,6 -1846,7 +1850,7 @@@ config XEN_DOM
  config XEN
        bool "Xen guest support on ARM (EXPERIMENTAL)"
        depends on EXPERIMENTAL && ARM && OF
+       depends on CPU_V7 && !CPU_V6
        help
          Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
  
@@@ -1859,9 -1856,9 +1860,9 @@@ 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.
  
@@@ -2143,8 -2140,8 +2144,8 @@@ config CPU_FREQ_PX
        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