Merge branch 'msm-core' of git://codeaurora.org/quic/kernel/dwalker/linux-msm
[pandora-kernel.git] / arch / arm / Kconfig
index 92622eb..2d70cec 100644 (file)
@@ -13,7 +13,7 @@ config ARM
        select RTC_LIB
        select SYS_SUPPORTS_APM_EMULATION
        select GENERIC_ATOMIC64 if (!CPU_32v6K)
        select RTC_LIB
        select SYS_SUPPORTS_APM_EMULATION
        select GENERIC_ATOMIC64 if (!CPU_32v6K)
-       select HAVE_OPROFILE
+       select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
        select HAVE_ARCH_KGDB
        select HAVE_KPROBES if (!XIP_KERNEL)
        select HAVE_KRETPROBES if (HAVE_KPROBES)
        select HAVE_ARCH_KGDB
        select HAVE_KPROBES if (!XIP_KERNEL)
        select HAVE_KRETPROBES if (HAVE_KPROBES)
@@ -21,6 +21,7 @@ config ARM
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_KERNEL_GZIP
        select HAVE_KERNEL_LZO
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_KERNEL_GZIP
        select HAVE_KERNEL_LZO
+       select HAVE_KERNEL_LZMA
        select HAVE_PERF_EVENTS
        select PERF_USE_VMALLOC
        help
        select HAVE_PERF_EVENTS
        select PERF_USE_VMALLOC
        help
@@ -42,6 +43,11 @@ config GENERIC_GPIO
 
 config GENERIC_TIME
        bool
 
 config GENERIC_TIME
        bool
+       default y
+
+config ARCH_USES_GETTIMEOFFSET
+       bool
+       default n
 
 config GENERIC_CLOCKEVENTS
        bool
 
 config GENERIC_CLOCKEVENTS
        bool
@@ -175,28 +181,6 @@ config ARM_L1_CACHE_SHIFT_6
        help
          Setting ARM L1 cache line size to 64 Bytes.
 
        help
          Setting ARM L1 cache line size to 64 Bytes.
 
-if OPROFILE
-
-config OPROFILE_ARMV6
-       def_bool y
-       depends on CPU_V6 && !SMP
-       select OPROFILE_ARM11_CORE
-
-config OPROFILE_MPCORE
-       def_bool y
-       depends on CPU_V6 && SMP
-       select OPROFILE_ARM11_CORE
-
-config OPROFILE_ARM11_CORE
-       bool
-
-config OPROFILE_ARMV7
-       def_bool y
-       depends on CPU_V7 && !SMP
-       bool
-
-endif
-
 config VECTORS_BASE
        hex
        default 0xffff0000 if MMU || CPU_HIGH_VECTOR
 config VECTORS_BASE
        hex
        default 0xffff0000 if MMU || CPU_HIGH_VECTOR
@@ -231,6 +215,7 @@ config ARCH_AAEC2000
        select CPU_ARM920T
        select ARM_AMBA
        select HAVE_CLK
        select CPU_ARM920T
        select ARM_AMBA
        select HAVE_CLK
+       select ARCH_USES_GETTIMEOFFSET
        help
          This enables support for systems based on the Agilent AAEC-2000
 
        help
          This enables support for systems based on the Agilent AAEC-2000
 
@@ -238,21 +223,22 @@ config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select ARM_AMBA
        select ARCH_HAS_CPUFREQ
        bool "ARM Ltd. Integrator family"
        select ARM_AMBA
        select ARCH_HAS_CPUFREQ
-       select HAVE_CLK
        select COMMON_CLKDEV
        select COMMON_CLKDEV
-       select ICST525
+       select ICST
+       select GENERIC_CLOCKEVENTS
+       select PLAT_VERSATILE
        help
          Support for ARM's Integrator platform.
 
 config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
        select ARM_AMBA
        help
          Support for ARM's Integrator platform.
 
 config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
        select ARM_AMBA
-       select HAVE_CLK
        select COMMON_CLKDEV
        select COMMON_CLKDEV
-       select ICST307
-       select GENERIC_TIME
+       select ICST
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
+       select PLAT_VERSATILE
+       select ARM_TIMER_SP804
        select GPIO_PL061 if GPIOLIB
        help
          This enables support for ARM Ltd RealView boards.
        select GPIO_PL061 if GPIOLIB
        help
          This enables support for ARM Ltd RealView boards.
@@ -261,20 +247,33 @@ config ARCH_VERSATILE
        bool "ARM Ltd. Versatile family"
        select ARM_AMBA
        select ARM_VIC
        bool "ARM Ltd. Versatile family"
        select ARM_AMBA
        select ARM_VIC
-       select HAVE_CLK
        select COMMON_CLKDEV
        select COMMON_CLKDEV
-       select ICST307
-       select GENERIC_TIME
+       select ICST
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
+       select PLAT_VERSATILE
+       select ARM_TIMER_SP804
        help
          This enables support for ARM Ltd Versatile board.
 
        help
          This enables support for ARM Ltd Versatile board.
 
+config ARCH_VEXPRESS
+       bool "ARM Ltd. Versatile Express family"
+       select ARCH_WANT_OPTIONAL_GPIOLIB
+       select ARM_AMBA
+       select ARM_TIMER_SP804
+       select COMMON_CLKDEV
+       select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
+       select ICST
+       select PLAT_VERSATILE
+       help
+         This enables support for the ARM Ltd Versatile Express boards.
+
 config ARCH_AT91
        bool "Atmel AT91"
 config ARCH_AT91
        bool "Atmel AT91"
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_CLK
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_CLK
+       select ARCH_USES_GETTIMEOFFSET
        help
          This enables support for systems based on the Atmel AT91RM9200,
          AT91SAM9 and AT91CAP9 processors.
        help
          This enables support for systems based on the Atmel AT91RM9200,
          AT91SAM9 and AT91CAP9 processors.
@@ -285,7 +284,6 @@ config ARCH_BCMRING
        select CPU_V6
        select ARM_AMBA
        select COMMON_CLKDEV
        select CPU_V6
        select ARM_AMBA
        select COMMON_CLKDEV
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
        help
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
        help
@@ -294,14 +292,23 @@ config ARCH_BCMRING
 config ARCH_CLPS711X
        bool "Cirrus Logic CLPS711x/EP721x-based"
        select CPU_ARM720T
 config ARCH_CLPS711X
        bool "Cirrus Logic CLPS711x/EP721x-based"
        select CPU_ARM720T
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support for Cirrus Logic 711x/721x based boards.
 
        help
          Support for Cirrus Logic 711x/721x based boards.
 
+config ARCH_CNS3XXX
+       bool "Cavium Networks CNS3XXX family"
+       select CPU_V6
+       select GENERIC_CLOCKEVENTS
+       select ARM_GIC
+       help
+         Support for Cavium Networks CNS3XXX platform.
+
 config ARCH_GEMINI
        bool "Cortina Systems Gemini"
        select CPU_FA526
 config ARCH_GEMINI
        bool "Cortina Systems Gemini"
        select CPU_FA526
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_REQUIRE_GPIOLIB
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support for the Cortina Systems Gemini family SoCs
 
        help
          Support for the Cortina Systems Gemini family SoCs
 
@@ -310,6 +317,7 @@ config ARCH_EBSA110
        select CPU_SA110
        select ISA
        select NO_IOPORT
        select CPU_SA110
        select ISA
        select NO_IOPORT
+       select ARCH_USES_GETTIMEOFFSET
        help
          This is an evaluation board for the StrongARM processor available
          from Digital. It has limited hardware on-board, including an
        help
          This is an evaluation board for the StrongARM processor available
          from Digital. It has limited hardware on-board, including an
@@ -321,11 +329,10 @@ config ARCH_EP93XX
        select CPU_ARM920T
        select ARM_AMBA
        select ARM_VIC
        select CPU_ARM920T
        select ARM_AMBA
        select ARM_VIC
-       select GENERIC_GPIO
-       select HAVE_CLK
        select COMMON_CLKDEV
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_HAS_HOLES_MEMORYMODEL
        select COMMON_CLKDEV
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_HAS_HOLES_MEMORYMODEL
+       select ARCH_USES_GETTIMEOFFSET
        help
          This enables support for the Cirrus EP93xx series of CPUs.
 
        help
          This enables support for the Cirrus EP93xx series of CPUs.
 
@@ -333,16 +340,15 @@ config ARCH_FOOTBRIDGE
        bool "FootBridge"
        select CPU_SA110
        select FOOTBRIDGE
        bool "FootBridge"
        select CPU_SA110
        select FOOTBRIDGE
+       select ARCH_USES_GETTIMEOFFSET
        help
          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"
        help
          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_TIME
        select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
-       select HAVE_CLK
        select COMMON_CLKDEV
        help
          Support for Freescale MXC/iMX-based family of processors
        select COMMON_CLKDEV
        help
          Support for Freescale MXC/iMX-based family of processors
@@ -350,12 +356,9 @@ config ARCH_MXC
 config ARCH_STMP3XXX
        bool "Freescale STMP3xxx"
        select CPU_ARM926T
 config ARCH_STMP3XXX
        bool "Freescale STMP3xxx"
        select CPU_ARM926T
-       select HAVE_CLK
        select COMMON_CLKDEV
        select ARCH_REQUIRE_GPIOLIB
        select COMMON_CLKDEV
        select ARCH_REQUIRE_GPIOLIB
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_CLOCKEVENTS
-       select GENERIC_GPIO
        select USB_ARCH_HAS_EHCI
        help
          Support for systems based on the Freescale 3xxx CPUs.
        select USB_ARCH_HAS_EHCI
        help
          Support for systems based on the Freescale 3xxx CPUs.
@@ -365,7 +368,6 @@ config ARCH_NETX
        select CPU_ARM926T
        select ARM_VIC
        select GENERIC_CLOCKEVENTS
        select CPU_ARM926T
        select ARM_VIC
        select GENERIC_CLOCKEVENTS
-       select GENERIC_TIME
        help
          This enables support for systems based on the Hilscher NetX Soc
 
        help
          This enables support for systems based on the Hilscher NetX Soc
 
@@ -373,6 +375,7 @@ config ARCH_H720X
        bool "Hynix HMS720x-based"
        select CPU_ARM720T
        select ISA_DMA_API
        bool "Hynix HMS720x-based"
        select CPU_ARM720T
        select ISA_DMA_API
+       select ARCH_USES_GETTIMEOFFSET
        help
          This enables support for systems based on the Hynix HMS720x
 
        help
          This enables support for systems based on the Hynix HMS720x
 
@@ -393,7 +396,6 @@ config ARCH_IOP32X
        select CPU_XSCALE
        select PLAT_IOP
        select PCI
        select CPU_XSCALE
        select PLAT_IOP
        select PCI
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        help
          Support for Intel's 80219 and IOP32X (XScale) family of
        select ARCH_REQUIRE_GPIOLIB
        help
          Support for Intel's 80219 and IOP32X (XScale) family of
@@ -405,7 +407,6 @@ config ARCH_IOP33X
        select CPU_XSCALE
        select PLAT_IOP
        select PCI
        select CPU_XSCALE
        select PLAT_IOP
        select PCI
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        help
          Support for Intel's IOP33X (XScale) family of processors.
        select ARCH_REQUIRE_GPIOLIB
        help
          Support for Intel's IOP33X (XScale) family of processors.
@@ -415,6 +416,7 @@ config ARCH_IXP23XX
        depends on MMU
        select CPU_XSC3
        select PCI
        depends on MMU
        select CPU_XSC3
        select PCI
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support for Intel's IXP23xx (XScale) family of processors.
 
        help
          Support for Intel's IXP23xx (XScale) family of processors.
 
@@ -423,6 +425,7 @@ config ARCH_IXP2000
        depends on MMU
        select CPU_XSCALE
        select PCI
        depends on MMU
        select CPU_XSCALE
        select PCI
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support for Intel's IXP2400/2800 (XScale) family of processors.
 
        help
          Support for Intel's IXP2400/2800 (XScale) family of processors.
 
@@ -431,7 +434,6 @@ config ARCH_IXP4XX
        depends on MMU
        select CPU_XSCALE
        select GENERIC_GPIO
        depends on MMU
        select CPU_XSCALE
        select GENERIC_GPIO
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select DMABOUNCE if PCI
        help
        select GENERIC_CLOCKEVENTS
        select DMABOUNCE if PCI
        help
@@ -441,6 +443,7 @@ config ARCH_L7200
        bool "LinkUp-L7200"
        select CPU_ARM720T
        select FIQ
        bool "LinkUp-L7200"
        select CPU_ARM720T
        select FIQ
+       select ARCH_USES_GETTIMEOFFSET
        help
          Say Y here if you intend to run this kernel on a LinkUp Systems
          L7200 Software Development Board which uses an ARM720T processor.
        help
          Say Y here if you intend to run this kernel on a LinkUp Systems
          L7200 Software Development Board which uses an ARM720T processor.
@@ -454,9 +457,7 @@ config ARCH_L7200
 config ARCH_DOVE
        bool "Marvell Dove"
        select PCI
 config ARCH_DOVE
        bool "Marvell Dove"
        select PCI
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_REQUIRE_GPIOLIB
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
@@ -466,9 +467,7 @@ config ARCH_KIRKWOOD
        bool "Marvell Kirkwood"
        select CPU_FEROCEON
        select PCI
        bool "Marvell Kirkwood"
        select CPU_FEROCEON
        select PCI
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_REQUIRE_GPIOLIB
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
@@ -478,7 +477,6 @@ config ARCH_KIRKWOOD
 config ARCH_LOKI
        bool "Marvell Loki (88RC8480)"
        select CPU_FEROCEON
 config ARCH_LOKI
        bool "Marvell Loki (88RC8480)"
        select CPU_FEROCEON
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
@@ -488,9 +486,7 @@ config ARCH_MV78XX0
        bool "Marvell MV78xx0"
        select CPU_FEROCEON
        select PCI
        bool "Marvell MV78xx0"
        select CPU_FEROCEON
        select PCI
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_REQUIRE_GPIOLIB
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
@@ -502,9 +498,7 @@ config ARCH_ORION5X
        depends on MMU
        select CPU_FEROCEON
        select PCI
        depends on MMU
        select CPU_FEROCEON
        select PCI
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_REQUIRE_GPIOLIB
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
        select GENERIC_CLOCKEVENTS
        select PLAT_ORION
        help
@@ -515,11 +509,8 @@ config ARCH_ORION5X
 config ARCH_MMP
        bool "Marvell PXA168/910/MMP2"
        depends on MMU
 config ARCH_MMP
        bool "Marvell PXA168/910/MMP2"
        depends on MMU
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_REQUIRE_GPIOLIB
-       select HAVE_CLK
        select COMMON_CLKDEV
        select COMMON_CLKDEV
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select TICK_ONESHOT
        select PLAT_PXA
        select GENERIC_CLOCKEVENTS
        select TICK_ONESHOT
        select PLAT_PXA
@@ -529,8 +520,8 @@ config ARCH_MMP
 config ARCH_KS8695
        bool "Micrel/Kendin KS8695"
        select CPU_ARM922T
 config ARCH_KS8695
        bool "Micrel/Kendin KS8695"
        select CPU_ARM922T
-       select GENERIC_GPIO
-        select ARCH_REQUIRE_GPIOLIB
+       select ARCH_REQUIRE_GPIOLIB
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
          System-on-Chip devices.
        help
          Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
          System-on-Chip devices.
@@ -539,7 +530,6 @@ config ARCH_NS9XXX
        bool "NetSilicon NS9xxx"
        select CPU_ARM926T
        select GENERIC_GPIO
        bool "NetSilicon NS9xxx"
        select CPU_ARM926T
        select GENERIC_GPIO
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        help
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        help
@@ -552,10 +542,7 @@ config ARCH_W90X900
        bool "Nuvoton W90X900 CPU"
        select CPU_ARM926T
        select ARCH_REQUIRE_GPIOLIB
        bool "Nuvoton W90X900 CPU"
        select CPU_ARM926T
        select ARCH_REQUIRE_GPIOLIB
-       select GENERIC_GPIO
-       select HAVE_CLK
        select COMMON_CLKDEV
        select COMMON_CLKDEV
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        help
          Support for Nuvoton (Winbond logic dept.) ARM9 processor,
        select GENERIC_CLOCKEVENTS
        help
          Support for Nuvoton (Winbond logic dept.) ARM9 processor,
@@ -569,7 +556,6 @@ config ARCH_W90X900
 config ARCH_NUC93X
        bool "Nuvoton NUC93X CPU"
        select CPU_ARM926T
 config ARCH_NUC93X
        bool "Nuvoton NUC93X CPU"
        select CPU_ARM926T
-       select HAVE_CLK
        select COMMON_CLKDEV
        help
          Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
        select COMMON_CLKDEV
        help
          Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
@@ -578,8 +564,8 @@ config ARCH_NUC93X
 config ARCH_PNX4008
        bool "Philips Nexperia PNX4008 Mobile"
        select CPU_ARM926T
 config ARCH_PNX4008
        bool "Philips Nexperia PNX4008 Mobile"
        select CPU_ARM926T
-       select HAVE_CLK
        select COMMON_CLKDEV
        select COMMON_CLKDEV
+       select ARCH_USES_GETTIMEOFFSET
        help
          This enables support for Philips PNX4008 mobile platform.
 
        help
          This enables support for Philips PNX4008 mobile platform.
 
@@ -588,11 +574,8 @@ config ARCH_PXA
        depends on MMU
        select ARCH_MTD_XIP
        select ARCH_HAS_CPUFREQ
        depends on MMU
        select ARCH_MTD_XIP
        select ARCH_HAS_CPUFREQ
-       select GENERIC_GPIO
-       select HAVE_CLK
        select COMMON_CLKDEV
        select ARCH_REQUIRE_GPIOLIB
        select COMMON_CLKDEV
        select ARCH_REQUIRE_GPIOLIB
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select TICK_ONESHOT
        select PLAT_PXA
        select GENERIC_CLOCKEVENTS
        select TICK_ONESHOT
        select PLAT_PXA
@@ -601,14 +584,14 @@ config ARCH_PXA
 
 config ARCH_MSM
        bool "Qualcomm MSM"
 
 config ARCH_MSM
        bool "Qualcomm MSM"
-       select CPU_V6
-       select GENERIC_TIME
+       select HAVE_CLK
        select GENERIC_CLOCKEVENTS
        help
        select GENERIC_CLOCKEVENTS
        help
-         Support for Qualcomm MSM7K based systems.  This runs on the ARM11
-         apps processor of the MSM7K and depends on a shared memory
-         interface to the ARM9 modem processor which runs the baseband stack
-         and controls some vital subsystems (clock and power control, etc).
+         Support for Qualcomm MSM/QSD based systems.  This runs on the
+         apps processor of the MSM/QSD and depends on a shared memory
+         interface to the modem processor which runs the baseband
+         stack and controls some vital subsystems
+         (clock and power control, etc).
 
 config ARCH_SHMOBILE
        bool "Renesas SH-Mobile"
 
 config ARCH_SHMOBILE
        bool "Renesas SH-Mobile"
@@ -625,6 +608,7 @@ config ARCH_RPC
        select ISA_DMA_API
        select NO_IOPORT
        select ARCH_SPARSEMEM_ENABLE
        select ISA_DMA_API
        select NO_IOPORT
        select ARCH_SPARSEMEM_ENABLE
+       select ARCH_USES_GETTIMEOFFSET
        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.
        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.
@@ -637,8 +621,6 @@ config ARCH_SA1100
        select ARCH_MTD_XIP
        select ARCH_HAS_CPUFREQ
        select CPU_FREQ
        select ARCH_MTD_XIP
        select ARCH_HAS_CPUFREQ
        select CPU_FREQ
-       select GENERIC_GPIO
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        select TICK_ONESHOT
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        select TICK_ONESHOT
@@ -647,23 +629,28 @@ config ARCH_SA1100
          Support for StrongARM 11x0 based boards.
 
 config ARCH_S3C2410
          Support for StrongARM 11x0 based boards.
 
 config ARCH_S3C2410
-       bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
+       bool "Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443, S3C2450"
        select GENERIC_GPIO
        select ARCH_HAS_CPUFREQ
        select HAVE_CLK
        select GENERIC_GPIO
        select ARCH_HAS_CPUFREQ
        select HAVE_CLK
+       select ARCH_USES_GETTIMEOFFSET
        help
          Samsung S3C2410X CPU based systems, such as the Simtec Electronics
          BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
          the Samsung SMDK2410 development board (and derivatives).
 
        help
          Samsung S3C2410X CPU based systems, such as the Simtec Electronics
          BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
          the Samsung SMDK2410 development board (and derivatives).
 
+         Note, the S3C2416 and the S3C2450 are so close that they even share
+         the same SoC ID code. This means that there is no seperate machine
+         directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.
+
 config ARCH_S3C64XX
        bool "Samsung S3C64XX"
        select PLAT_SAMSUNG
        select CPU_V6
 config ARCH_S3C64XX
        bool "Samsung S3C64XX"
        select PLAT_SAMSUNG
        select CPU_V6
-       select GENERIC_GPIO
        select ARM_VIC
        select HAVE_CLK
        select NO_IOPORT
        select ARM_VIC
        select HAVE_CLK
        select NO_IOPORT
+       select ARCH_USES_GETTIMEOFFSET
        select ARCH_HAS_CPUFREQ
        select ARCH_REQUIRE_GPIOLIB
        select SAMSUNG_CLKSRC
        select ARCH_HAS_CPUFREQ
        select ARCH_REQUIRE_GPIOLIB
        select SAMSUNG_CLKSRC
@@ -720,6 +707,7 @@ config ARCH_SHARK
        select ISA_DMA
        select ZONE_DMA
        select PCI
        select ISA_DMA
        select ZONE_DMA
        select PCI
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support for the StrongARM based Digital DNARD machine, also known
          as "Shark" (<http://www.shark-linux.de/shark.html>).
        help
          Support for the StrongARM based Digital DNARD machine, also known
          as "Shark" (<http://www.shark-linux.de/shark.html>).
@@ -729,6 +717,7 @@ config ARCH_LH7A40X
        select CPU_ARM922T
        select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
        select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
        select CPU_ARM922T
        select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
        select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
+       select ARCH_USES_GETTIMEOFFSET
        help
          Say Y here for systems based on one of the Sharp LH7A40X
          System on a Chip processors.  These CPUs include an ARM922T
        help
          Say Y here for systems based on one of the Sharp LH7A40X
          System on a Chip processors.  These CPUs include an ARM922T
@@ -742,9 +731,7 @@ config ARCH_U300
        select HAVE_TCM
        select ARM_AMBA
        select ARM_VIC
        select HAVE_TCM
        select ARM_AMBA
        select ARM_VIC
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_CLOCKEVENTS
-       select HAVE_CLK
        select COMMON_CLKDEV
        select GENERIC_GPIO
        help
        select COMMON_CLKDEV
        select GENERIC_GPIO
        help
@@ -754,9 +741,9 @@ config ARCH_U8500
        bool "ST-Ericsson U8500 Series"
        select CPU_V7
        select ARM_AMBA
        bool "ST-Ericsson U8500 Series"
        select CPU_V7
        select ARM_AMBA
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select COMMON_CLKDEV
        select GENERIC_CLOCKEVENTS
        select COMMON_CLKDEV
+       select ARCH_REQUIRE_GPIOLIB
        help
          Support for ST-Ericsson's Ux500 architecture
 
        help
          Support for ST-Ericsson's Ux500 architecture
 
@@ -765,23 +752,16 @@ config ARCH_NOMADIK
        select ARM_AMBA
        select ARM_VIC
        select CPU_ARM926T
        select ARM_AMBA
        select ARM_VIC
        select CPU_ARM926T
-       select HAVE_CLK
        select COMMON_CLKDEV
        select COMMON_CLKDEV
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_CLOCKEVENTS
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        help
          Support for the Nomadik platform by ST-Ericsson
 
 config ARCH_DAVINCI
        bool "TI DaVinci"
        select ARCH_REQUIRE_GPIOLIB
        help
          Support for the Nomadik platform by ST-Ericsson
 
 config ARCH_DAVINCI
        bool "TI DaVinci"
-       select CPU_ARM926T
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_CLOCKEVENTS
-       select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_REQUIRE_GPIOLIB
-       select HAVE_CLK
        select ZONE_DMA
        select HAVE_IDE
        select COMMON_CLKDEV
        select ZONE_DMA
        select HAVE_IDE
        select COMMON_CLKDEV
@@ -792,16 +772,24 @@ config ARCH_DAVINCI
 
 config ARCH_OMAP
        bool "TI OMAP"
 
 config ARCH_OMAP
        bool "TI OMAP"
-       select GENERIC_GPIO
        select HAVE_CLK
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_HAS_CPUFREQ
        select HAVE_CLK
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_HAS_CPUFREQ
-       select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select ARCH_HAS_HOLES_MEMORYMODEL
        help
          Support for TI's OMAP platform (OMAP1 and OMAP2).
 
        select GENERIC_CLOCKEVENTS
        select ARCH_HAS_HOLES_MEMORYMODEL
        help
          Support for TI's OMAP platform (OMAP1 and OMAP2).
 
+config PLAT_SPEAR
+       bool "ST SPEAr"
+       select ARM_AMBA
+       select ARCH_REQUIRE_GPIOLIB
+       select COMMON_CLKDEV
+       select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
+       help
+         Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
+
 endchoice
 
 #
 endchoice
 
 #
@@ -817,6 +805,8 @@ source "arch/arm/mach-bcmring/Kconfig"
 
 source "arch/arm/mach-clps711x/Kconfig"
 
 
 source "arch/arm/mach-clps711x/Kconfig"
 
+source "arch/arm/mach-cns3xxx/Kconfig"
+
 source "arch/arm/mach-davinci/Kconfig"
 
 source "arch/arm/mach-dove/Kconfig"
 source "arch/arm/mach-davinci/Kconfig"
 
 source "arch/arm/mach-dove/Kconfig"
@@ -887,11 +877,13 @@ source "arch/arm/plat-samsung/Kconfig"
 source "arch/arm/plat-s3c24xx/Kconfig"
 source "arch/arm/plat-s5p/Kconfig"
 source "arch/arm/plat-s5pc1xx/Kconfig"
 source "arch/arm/plat-s3c24xx/Kconfig"
 source "arch/arm/plat-s5p/Kconfig"
 source "arch/arm/plat-s5pc1xx/Kconfig"
+source "arch/arm/plat-spear/Kconfig"
 
 if ARCH_S3C2410
 source "arch/arm/mach-s3c2400/Kconfig"
 source "arch/arm/mach-s3c2410/Kconfig"
 source "arch/arm/mach-s3c2412/Kconfig"
 
 if ARCH_S3C2410
 source "arch/arm/mach-s3c2400/Kconfig"
 source "arch/arm/mach-s3c2410/Kconfig"
 source "arch/arm/mach-s3c2412/Kconfig"
+source "arch/arm/mach-s3c2416/Kconfig"
 source "arch/arm/mach-s3c2440/Kconfig"
 source "arch/arm/mach-s3c2443/Kconfig"
 endif
 source "arch/arm/mach-s3c2440/Kconfig"
 source "arch/arm/mach-s3c2443/Kconfig"
 endif
@@ -920,6 +912,8 @@ source "arch/arm/mach-ux500/Kconfig"
 
 source "arch/arm/mach-versatile/Kconfig"
 
 
 source "arch/arm/mach-versatile/Kconfig"
 
+source "arch/arm/mach-vexpress/Kconfig"
+
 source "arch/arm/mach-w90x900/Kconfig"
 
 # Definitions to make life easier
 source "arch/arm/mach-w90x900/Kconfig"
 
 # Definitions to make life easier
@@ -929,7 +923,6 @@ config ARCH_ACORN
 config PLAT_IOP
        bool
        select GENERIC_CLOCKEVENTS
 config PLAT_IOP
        bool
        select GENERIC_CLOCKEVENTS
-       select GENERIC_TIME
 
 config PLAT_ORION
        bool
 
 config PLAT_ORION
        bool
@@ -937,6 +930,12 @@ config PLAT_ORION
 config PLAT_PXA
        bool
 
 config PLAT_PXA
        bool
 
+config PLAT_VERSATILE
+       bool
+
+config ARM_TIMER_SP804
+       bool
+
 source arch/arm/mm/Kconfig
 
 config IWMMXT
 source arch/arm/mm/Kconfig
 
 config IWMMXT
@@ -1065,6 +1064,10 @@ config PCI
          your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
          VESA. If you have PCI, say Y, otherwise N.
 
          your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
          VESA. If you have PCI, say Y, otherwise N.
 
+config PCI_DOMAINS
+       bool
+       depends on PCI
+
 config PCI_SYSCALL
        def_bool PCI
 
 config PCI_SYSCALL
        def_bool PCI
 
@@ -1093,10 +1096,11 @@ source "kernel/time/Kconfig"
 config SMP
        bool "Symmetric Multi-Processing (EXPERIMENTAL)"
        depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
 config SMP
        bool "Symmetric Multi-Processing (EXPERIMENTAL)"
        depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
-                MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
+                MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
+                ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
        depends on GENERIC_CLOCKEVENTS
        select USE_GENERIC_SMP_HELPERS
        depends on GENERIC_CLOCKEVENTS
        select USE_GENERIC_SMP_HELPERS
-       select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
+       select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
        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
        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
@@ -1277,7 +1281,7 @@ config HIGHPTE
 
 config HW_PERF_EVENTS
        bool "Enable hardware performance counter support for perf events"
 
 config HW_PERF_EVENTS
        bool "Enable hardware performance counter support for perf events"
-       depends on PERF_EVENTS && CPU_HAS_PMU && (CPU_V6 || CPU_V7)
+       depends on PERF_EVENTS && CPU_HAS_PMU
        default y
        help
          Enable hardware performance counter support for perf events. If
        default y
        help
          Enable hardware performance counter support for perf events. If