]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge branch 'late/fixes' into fixes
authorOlof Johansson <olof@lixom.net>
Thu, 9 May 2013 20:05:00 +0000 (13:05 -0700)
committerOlof Johansson <olof@lixom.net>
Thu, 9 May 2013 20:05:15 +0000 (13:05 -0700)
* late/fixes:
  ARM: OMAP2+: Fix unmet direct dependencies for SERIAL_OMAP
  ARM: ux500: always select ABX500_CORE
  ARM: SIRF: select SMP_ON_UP only on SMP builds
  ARM: SPEAr: conditionalize l2x0 support
  ARM: imx: build CPU suspend code only when needed
  ARM: OMAP: build SMP code only for OMAP4/5
  ARM: tegra: Tegra114 needs CPU_FREQ_TABLE
  ARM: default machine descriptor for multiplatform

Signed-off-by: Olof Johansson <olof@lixom.net>
1  2 
arch/arm/Kconfig
arch/arm/configs/omap2plus_defconfig
arch/arm/kernel/setup.c
arch/arm/mach-imx/headsmp.S
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Makefile
arch/arm/mach-prima2/Kconfig
arch/arm/mach-spear/spear13xx.c
arch/arm/mach-tegra/Kconfig
arch/arm/mach-ux500/Kconfig

diff --combined arch/arm/Kconfig
index 46e2b5228606c725f5e3fe4226d57c55146842da,f0f90f06f84bde509483756f28735bc60c024622..d423d58f938dc40fb5b3c01445b9184572631b10
@@@ -15,7 -15,6 +15,7 @@@ config AR
        select GENERIC_IRQ_SHOW
        select GENERIC_PCI_IOMAP
        select GENERIC_SMP_IDLE_THREAD
 +      select GENERIC_IDLE_POLL_SETUP
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
        select HARDIRQS_SW_RESEND
@@@ -50,6 -49,7 +50,6 @@@
        select HAVE_REGS_AND_STACK_ACCESS_API
        select HAVE_SYSCALL_TRACEPOINTS
        select HAVE_UID16
 -      select HAVE_VIRT_TO_BUS
        select KTIME_SCALAR
        select PERF_USE_VMALLOC
        select RTC_LIB
@@@ -59,7 -59,6 +59,7 @@@
        select CLONE_BACKWARDS
        select OLD_SIGSUSPEND3
        select OLD_SIGACTION
 +      select HAVE_CONTEXT_TRACKING
        help
          The ARM series is a line of low-power-consumption RISC chip designs
          licensed by ARM Ltd and targeted at embedded applications and
@@@ -109,6 -108,9 +109,6 @@@ config MIGHT_HAVE_PC
  config SYS_SUPPORTS_APM_EMULATION
        bool
  
 -config GENERIC_GPIO
 -      bool
 -
  config HAVE_TCM
        bool
        select GENERIC_ALLOCATOR
@@@ -360,6 -362,37 +360,6 @@@ config ARCH_AT9
          This enables support for systems based on Atmel
          AT91RM9200 and AT91SAM9* processors.
  
 -config ARCH_BCM2835
 -      bool "Broadcom BCM2835 family"
 -      select ARCH_REQUIRE_GPIOLIB
 -      select ARM_AMBA
 -      select ARM_ERRATA_411920
 -      select ARM_TIMER_SP804
 -      select CLKDEV_LOOKUP
 -      select CLKSRC_OF
 -      select COMMON_CLK
 -      select CPU_V6
 -      select GENERIC_CLOCKEVENTS
 -      select MULTI_IRQ_HANDLER
 -      select PINCTRL
 -      select PINCTRL_BCM2835
 -      select SPARSE_IRQ
 -      select USE_OF
 -      help
 -        This enables support for the Broadcom BCM2835 SoC. This SoC is
 -        use in the Raspberry Pi, and Roku 2 devices.
 -
 -config ARCH_CNS3XXX
 -      bool "Cavium Networks CNS3XXX family"
 -      select ARM_GIC
 -      select CPU_V6K
 -      select GENERIC_CLOCKEVENTS
 -      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_REQUIRE_GPIOLIB
@@@ -378,11 -411,25 +378,11 @@@ config ARCH_GEMIN
        bool "Cortina Systems Gemini"
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_USES_GETTIMEOFFSET
 +      select NEED_MACH_GPIO_H
        select CPU_FA526
        help
          Support for the Cortina Systems Gemini family SoCs
  
 -config ARCH_SIRF
 -      bool "CSR SiRF"
 -      select ARCH_REQUIRE_GPIOLIB
 -      select AUTO_ZRELADDR
 -      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
 -      help
 -        Support for CSR SiRFprimaII/Marco/Polo platforms
 -
  config ARCH_EBSA110
        bool "EBSA-110"
        select ARCH_USES_GETTIMEOFFSET
@@@ -422,6 -469,21 +422,6 @@@ config ARCH_FOOTBRIDG
          Support for systems based on the DC21285 companion chip
          ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
  
 -config ARCH_MXS
 -      bool "Freescale MXS-based"
 -      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
 -      select SPARSE_IRQ
 -      select USE_OF
 -      help
 -        Support for Freescale MXS-based family of processors
 -
  config ARCH_NETX
        bool "Hilscher NetX based"
        select ARM_VIC
        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
 -      help
 -        This enables support for systems based on the Hynix HMS720x
 -
  config ARCH_IOP13XX
        bool "IOP13xx-based"
        depends on MMU
@@@ -480,14 -550,13 +480,14 @@@ config ARCH_IXP4X
        select GENERIC_CLOCKEVENTS
        select MIGHT_HAVE_PCI
        select NEED_MACH_IO_H
 +      select USB_EHCI_BIG_ENDIAN_MMIO
 +      select USB_EHCI_BIG_ENDIAN_DESC
        help
          Support for Intel's IXP4XX (XScale) family of processors.
  
  config ARCH_DOVE
        bool "Marvell Dove"
        select ARCH_REQUIRE_GPIOLIB
 -      select COMMON_CLK_DOVE
        select CPU_V7
        select GENERIC_CLOCKEVENTS
        select MIGHT_HAVE_PCI
        select PINCTRL_DOVE
        select PLAT_ORION_LEGACY
        select USB_ARCH_HAS_EHCI
 +      select MVEBU_MBUS
        help
          Support for the Marvell Dove SoC 88AP510
  
@@@ -509,7 -577,6 +509,7 @@@ config ARCH_KIRKWOO
        select PINCTRL
        select PINCTRL_KIRKWOOD
        select PLAT_ORION_LEGACY
 +      select MVEBU_MBUS
        help
          Support for the following Marvell Kirkwood series SoCs:
          88F6180, 88F6192 and 88F6281.
@@@ -521,7 -588,6 +521,7 @@@ config ARCH_MV78XX
        select GENERIC_CLOCKEVENTS
        select PCI
        select PLAT_ORION_LEGACY
 +      select MVEBU_MBUS
        help
          Support for the following Marvell MV78xx0 series SoCs:
          MV781x0, MV782x0.
@@@ -534,7 -600,6 +534,7 @@@ config ARCH_ORION5
        select GENERIC_CLOCKEVENTS
        select PCI
        select PLAT_ORION_LEGACY
 +      select MVEBU_MBUS
        help
          Support for the following Marvell Orion 5x series SoCs:
          Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
@@@ -598,6 -663,24 +598,6 @@@ config ARCH_LPC32X
        help
          Support for the NXP LPC32XX family of processors
  
 -config ARCH_TEGRA
 -      bool "NVIDIA Tegra"
 -      select ARCH_HAS_CPUFREQ
 -      select ARCH_REQUIRE_GPIOLIB
 -      select CLKDEV_LOOKUP
 -      select CLKSRC_MMIO
 -      select CLKSRC_OF
 -      select COMMON_CLK
 -      select GENERIC_CLOCKEVENTS
 -      select HAVE_CLK
 -      select HAVE_SMP
 -      select MIGHT_HAVE_CACHE_L2X0
 -      select SPARSE_IRQ
 -      select USE_OF
 -      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
@@@ -635,8 -718,6 +635,8 @@@ config ARCH_SHMOBIL
        bool "Renesas SH-Mobile / R-Mobile"
        select CLKDEV_LOOKUP
        select GENERIC_CLOCKEVENTS
 +      select HAVE_ARM_SCU if SMP
 +      select HAVE_ARM_TWD if LOCAL_TIMERS
        select HAVE_CLK
        select HAVE_MACH_CLKDEV
        select HAVE_SMP
        select MULTI_IRQ_HANDLER
        select NEED_MACH_MEMORY_H
        select NO_IOPORT
 -      select PINCTRL
 +      select PINCTRL if ARCH_WANT_OPTIONAL_GPIOLIB
        select PM_GENERIC_DOMAINS if PM
        select SPARSE_IRQ
        help
@@@ -663,7 -744,6 +663,7 @@@ config ARCH_RP
        select NEED_MACH_IO_H
        select NEED_MACH_MEMORY_H
        select NO_IOPORT
 +      select VIRT_TO_BUS
        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.
@@@ -690,15 -770,12 +690,15 @@@ config ARCH_SA110
  config ARCH_S3C24XX
        bool "Samsung S3C24XX SoCs"
        select ARCH_HAS_CPUFREQ
 -      select ARCH_USES_GETTIMEOFFSET
 +      select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
 +      select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
        select HAVE_S3C_RTC if RTC_CLASS
 +      select MULTI_IRQ_HANDLER
        select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        help
@@@ -711,11 -788,10 +711,11 @@@ config ARCH_S3C64X
        bool "Samsung S3C64XX"
        select ARCH_HAS_CPUFREQ
        select ARCH_REQUIRE_GPIOLIB
 -      select ARCH_USES_GETTIMEOFFSET
        select ARM_VIC
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        select CPU_V6
 +      select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
@@@ -749,11 -825,9 +749,11 @@@ config ARCH_S5P64X
  
  config ARCH_S5PC100
        bool "Samsung S5PC100"
 -      select ARCH_USES_GETTIMEOFFSET
 +      select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        select CPU_V7
 +      select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
@@@ -786,7 -860,6 +786,7 @@@ config ARCH_EXYNO
        select ARCH_HAS_HOLES_MEMORYMODEL
        select ARCH_SPARSEMEM_ENABLE
        select CLKDEV_LOOKUP
 +      select COMMON_CLK
        select CPU_V7
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK
@@@ -806,7 -879,6 +806,7 @@@ config ARCH_SHAR
        select ISA_DMA
        select NEED_MACH_MEMORY_H
        select PCI
 +      select VIRT_TO_BUS
        select ZONE_DMA
        help
          Support for the StrongARM based Digital DNARD machine, also known
@@@ -829,6 -901,51 +829,6 @@@ config ARCH_U30
        help
          Support for ST-Ericsson U300 series mobile platforms.
  
 -config ARCH_U8500
 -      bool "ST-Ericsson U8500 Series"
 -      depends on MMU
 -      select ARCH_HAS_CPUFREQ
 -      select ARCH_REQUIRE_GPIOLIB
 -      select ARM_AMBA
 -      select CLKDEV_LOOKUP
 -      select CPU_V7
 -      select GENERIC_CLOCKEVENTS
 -      select HAVE_SMP
 -      select MIGHT_HAVE_CACHE_L2X0
 -      select SPARSE_IRQ
 -      help
 -        Support for ST-Ericsson's Ux500 architecture
 -
 -config ARCH_NOMADIK
 -      bool "STMicroelectronics Nomadik"
 -      select ARCH_REQUIRE_GPIOLIB
 -      select ARM_AMBA
 -      select ARM_VIC
 -      select CLKSRC_NOMADIK_MTU
 -      select COMMON_CLK
 -      select CPU_ARM926T
 -      select GENERIC_CLOCKEVENTS
 -      select MIGHT_HAVE_CACHE_L2X0
 -      select USE_OF
 -      select PINCTRL
 -      select PINCTRL_STN8815
 -      select SPARSE_IRQ
 -      help
 -        Support for the Nomadik platform by ST-Ericsson
 -
 -config PLAT_SPEAR
 -      bool "ST SPEAr"
 -      select ARCH_HAS_CPUFREQ
 -      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 ARCH_HAS_HOLES_MEMORYMODEL
@@@ -889,15 -1006,14 +889,14 @@@ config ARCH_MULTI_V4_V
        bool
  
  config ARCH_MULTI_V6
 -      bool "ARMv6 based platforms (ARM11, Scorpion, ...)"
 +      bool "ARMv6 based platforms (ARM11)"
        select ARCH_MULTI_V6_V7
        select CPU_V6
  
  config ARCH_MULTI_V7
 -      bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
 +      bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
        default y
        select ARCH_MULTI_V6_V7
-       select ARCH_VEXPRESS
        select CPU_V7
  
  config ARCH_MULTI_V6_V7
@@@ -920,8 -1036,6 +919,8 @@@ source "arch/arm/mach-at91/Kconfig
  
  source "arch/arm/mach-bcm/Kconfig"
  
 +source "arch/arm/mach-bcm2835/Kconfig"
 +
  source "arch/arm/mach-clps711x/Kconfig"
  
  source "arch/arm/mach-cns3xxx/Kconfig"
@@@ -936,6 -1050,8 +935,6 @@@ source "arch/arm/mach-footbridge/Kconfi
  
  source "arch/arm/mach-gemini/Kconfig"
  
 -source "arch/arm/mach-h720x/Kconfig"
 -
  source "arch/arm/mach-highbank/Kconfig"
  
  source "arch/arm/mach-integrator/Kconfig"
@@@ -987,7 -1103,7 +986,7 @@@ source "arch/arm/plat-samsung/Kconfig
  
  source "arch/arm/mach-socfpga/Kconfig"
  
 -source "arch/arm/plat-spear/Kconfig"
 +source "arch/arm/mach-spear/Kconfig"
  
  source "arch/arm/mach-s3c24xx/Kconfig"
  
@@@ -1056,7 -1172,7 +1055,7 @@@ config PLAT_VERSATIL
  config ARM_TIMER_SP804
        bool
        select CLKSRC_MMIO
 -      select HAVE_SCHED_CLOCK
 +      select CLKSRC_OF if OF
  
  source arch/arm/mm/Kconfig
  
@@@ -1066,9 -1182,9 +1065,9 @@@ config ARM_NR_BANK
        default 8
  
  config IWMMXT
 -      bool "Enable iWMMXt support"
 +      bool "Enable iWMMXt support" if !CPU_PJ4
        depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
 -      default y if PXA27x || PXA3xx || ARCH_MMP
 +      default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4
        help
          Enable support for iWMMXt context switching at run time if
          running on a CPU that supports it.
@@@ -1322,16 -1438,6 +1321,16 @@@ config ARM_ERRATA_77542
         to deadlock. This workaround puts DSB before executing ISB if
         an abort may occur on cache maintenance.
  
 +config ARM_ERRATA_798181
 +      bool "ARM errata: TLBI/DSB failure on Cortex-A15"
 +      depends on CPU_V7 && SMP
 +      help
 +        On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not
 +        adequately shooting down all use of the old entries. This
 +        option enables the Linux kernel workaround for this erratum
 +        which sends an IPI to the CPUs that are running the same ASID
 +        as the one being invalidated.
 +
  endmenu
  
  source "arch/arm/common/Kconfig"
@@@ -1355,6 -1461,10 +1354,6 @@@ config ISA_DM
        bool
        select ISA_DMA_API
  
 -config ARCH_NO_VIRT_TO_BUS
 -      def_bool y
 -      depends on !ARCH_RPC && !ARCH_NETWINDER && !ARCH_SHARK
 -
  # Select ISA DMA interface
  config ISA_DMA_API
        bool
@@@ -1415,6 -1525,7 +1414,6 @@@ config SM
        depends on GENERIC_CLOCKEVENTS
        depends on HAVE_SMP
        depends on MMU
 -      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
@@@ -1489,14 -1600,6 +1488,14 @@@ config HAVE_ARM_TW
        help
          This options enables support for the ARM timer and watchdog unit
  
 +config MCPM
 +      bool "Multi-Cluster Power Management"
 +      depends on CPU_V7 && SMP
 +      help
 +        This option provides the common power management infrastructure
 +        for (multi-)cluster based systems, such as big.LITTLE based
 +        systems.
 +
  choice
        prompt "Memory split"
        default VMSPLIT_3G
@@@ -1547,23 -1650,20 +1546,23 @@@ config LOCAL_TIMER
        bool "Use local timer interrupts"
        depends on SMP
        default y
 -      select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT)
        help
          Enable support for local timers on SMP platforms, rather then the
          legacy IPI broadcast method.  Local timers allows the system
          accounting to be spread across the timer interval, preventing a
          "thundering herd" at every timer tick.
  
 +# The GPIO number here must be sorted by descending number. In case of
 +# a multiplatform kernel, we just want the highest value required by the
 +# selected platforms.
  config ARCH_NR_GPIO
        int
        default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
 -      default 355 if ARCH_U8500
 -      default 264 if MACH_H4700
        default 512 if SOC_OMAP5
 -      default 288 if ARCH_VT8500 || ARCH_SUNXI
 +      default 392 if ARCH_U8500
 +      default 352 if ARCH_VT8500
 +      default 288 if ARCH_SUNXI
 +      default 264 if MACH_H4700
        default 0
        help
          Maximum number of GPIOs in the system.
@@@ -1584,9 -1684,8 +1583,9 @@@ config SCHED_HRTIC
        def_bool HIGH_RES_TIMERS
  
  config THUMB2_KERNEL
 -      bool "Compile the kernel in Thumb-2 mode"
 +      bool "Compile the kernel in Thumb-2 mode" if !CPU_THUMBONLY
        depends on CPU_V7 && !CPU_V6 && !CPU_V6K
 +      default y if CPU_THUMBONLY
        select AEABI
        select ARM_ASM_UNIFIED
        select ARM_UNWIND
@@@ -1788,10 -1887,8 +1787,10 @@@ config XEN_DOM
  
  config XEN
        bool "Xen guest support on ARM (EXPERIMENTAL)"
 -      depends on ARM && OF
 +      depends on ARM && AEABI && OF
        depends on CPU_V7 && !CPU_V6
 +      depends on !GENERIC_ATOMIC64
 +      select ARM_PSCI
        help
          Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
  
@@@ -2053,8 -2150,40 +2052,8 @@@ endmen
  menu "CPU Power Management"
  
  if ARCH_HAS_CPUFREQ
 -
  source "drivers/cpufreq/Kconfig"
  
 -config CPU_FREQ_IMX
 -      tristate "CPUfreq driver for i.MX CPUs"
 -      depends on ARCH_MXC && CPU_FREQ
 -      select CPU_FREQ_TABLE
 -      help
 -        This enables the CPUfreq driver for i.MX CPUs.
 -
 -config CPU_FREQ_SA1100
 -      bool
 -
 -config CPU_FREQ_SA1110
 -      bool
 -
 -config CPU_FREQ_INTEGRATOR
 -      tristate "CPUfreq driver for ARM Integrator CPUs"
 -      depends on ARCH_INTEGRATOR && CPU_FREQ
 -      default y
 -      help
 -        This enables the CPUfreq driver for ARM Integrator CPUs.
 -
 -        For details, take a look at <file:Documentation/cpu-freq>.
 -
 -        If in doubt, say Y.
 -
 -config CPU_FREQ_PXA
 -      bool
 -      depends on CPU_FREQ && ARCH_PXA && PXA25x
 -      default y
 -      select CPU_FREQ_DEFAULT_GOV_USERSPACE
 -      select CPU_FREQ_TABLE
 -
  config CPU_FREQ_S3C
        bool
        help
index 33903ca0d8798fa6c2449b7d357397c6285c3288,7bc71ffa7a3e4e9085c073e272cf0bb49ff8e477..51a20a441773bdab298f06e20c877e80e49f41c9
@@@ -93,7 -93,6 +93,7 @@@ CONFIG_BLK_DEV_RAM_SIZE=1638
  CONFIG_SENSORS_LIS3LV02D=m
  CONFIG_SENSORS_TSL2550=m
  CONFIG_SENSORS_LIS3_I2C=m
 +CONFIG_BMP085_I2C=m
  CONFIG_SCSI=y
  CONFIG_BLK_DEV_SD=y
  CONFIG_SCSI_MULTI_LUN=y
@@@ -127,8 -126,6 +127,8 @@@ CONFIG_INPUT_MISC=
  CONFIG_INPUT_TWL4030_PWRBUTTON=y
  CONFIG_VT_HW_CONSOLE_BINDING=y
  # CONFIG_LEGACY_PTYS is not set
 +CONFIG_SERIAL_8250=y
 +CONFIG_SERIAL_8250_CONSOLE=y
  CONFIG_SERIAL_8250_NR_UARTS=32
  CONFIG_SERIAL_8250_EXTENDED=y
  CONFIG_SERIAL_8250_MANY_PORTS=y
@@@ -137,6 -134,8 +137,8 @@@ CONFIG_SERIAL_8250_DETECT_IRQ=
  CONFIG_SERIAL_8250_RSA=y
  CONFIG_SERIAL_AMBA_PL011=y
  CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+ CONFIG_SERIAL_OMAP=y
+ CONFIG_SERIAL_OMAP_CONSOLE=y
  CONFIG_HW_RANDOM=y
  CONFIG_I2C_CHARDEV=y
  CONFIG_SPI=y
diff --combined arch/arm/kernel/setup.c
index 728007c4a2b7eaf18e038d93a8075699d7a479dc,08a627b61b7dc73b68cd7eeaf1ea4488459afef3..1522c7ae31b0c239901237569bad5cbb4ec7b02e
@@@ -18,6 -18,7 +18,7 @@@
  #include <linux/bootmem.h>
  #include <linux/seq_file.h>
  #include <linux/screen_info.h>
+ #include <linux/of_platform.h>
  #include <linux/init.h>
  #include <linux/kexec.h>
  #include <linux/of_fdt.h>
@@@ -56,6 -57,7 +57,6 @@@
  #include <asm/virt.h>
  
  #include "atags.h"
 -#include "tcm.h"
  
  
  #if defined(CONFIG_FPE_NWFPE) || defined(CONFIG_FPE_FASTFPE)
@@@ -290,10 -292,10 +291,10 @@@ static int cpu_has_aliasing_icache(unsi
  
  static void __init cacheid_init(void)
  {
 -      unsigned int cachetype = read_cpuid_cachetype();
        unsigned int arch = cpu_architecture();
  
        if (arch >= CPU_ARCH_ARMv6) {
 +              unsigned int cachetype = read_cpuid_cachetype();
                if ((cachetype & (7 << 29)) == 4 << 29) {
                        /* ARMv7 register format */
                        arch = CPU_ARCH_ARMv7;
@@@ -352,23 -354,6 +353,23 @@@ void __init early_print(const char *str
        printk("%s", buf);
  }
  
 +static void __init cpuid_init_hwcaps(void)
 +{
 +      unsigned int divide_instrs;
 +
 +      if (cpu_architecture() < CPU_ARCH_ARMv7)
 +              return;
 +
 +      divide_instrs = (read_cpuid_ext(CPUID_EXT_ISAR0) & 0x0f000000) >> 24;
 +
 +      switch (divide_instrs) {
 +      case 2:
 +              elf_hwcap |= HWCAP_IDIVA;
 +      case 1:
 +              elf_hwcap |= HWCAP_IDIVT;
 +      }
 +}
 +
  static void __init feat_v6_fixup(void)
  {
        int id = read_cpuid_id();
   *
   * cpu_init sets up the per-CPU stacks.
   */
 -void cpu_init(void)
 +void notrace cpu_init(void)
  {
        unsigned int cpu = smp_processor_id();
        struct stack *stk = &stacks[cpu];
@@@ -499,11 -484,8 +500,11 @@@ static void __init setup_processor(void
        snprintf(elf_platform, ELF_PLATFORM_SIZE, "%s%c",
                 list->elf_name, ENDIANNESS);
        elf_hwcap = list->elf_hwcap;
 +
 +      cpuid_init_hwcaps();
 +
  #ifndef CONFIG_ARM_THUMB
 -      elf_hwcap &= ~HWCAP_THUMB;
 +      elf_hwcap &= ~(HWCAP_THUMB | HWCAP_IDIVT);
  #endif
  
        feat_v6_fixup();
@@@ -543,7 -525,7 +544,7 @@@ int __init arm_add_memory(phys_addr_t s
        size -= start & ~PAGE_MASK;
        bank->start = PAGE_ALIGN(start);
  
 -#ifndef CONFIG_LPAE
 +#ifndef CONFIG_ARM_LPAE
        if (bank->start + size < bank->start) {
                printk(KERN_CRIT "Truncating memory at 0x%08llx to fit in "
                        "32-bit physical address space\n", (long long)start);
@@@ -659,9 -641,19 +660,19 @@@ struct screen_info screen_info = 
  
  static int __init customize_machine(void)
  {
-       /* customizes platform devices, or adds new ones */
+       /*
+        * customizes platform devices, or adds new ones
+        * On DT based machines, we fall back to populating the
+        * machine from the device tree, if no callback is provided,
+        * otherwise we would always need an init_machine callback.
+        */
        if (machine_desc->init_machine)
                machine_desc->init_machine();
+ #ifdef CONFIG_OF
+       else
+               of_platform_populate(NULL, of_default_bus_match_table,
+                                       NULL, NULL);
+ #endif
        return 0;
  }
  arch_initcall(customize_machine);
@@@ -797,6 -789,8 +808,6 @@@ void __init setup_arch(char **cmdline_p
  
        reserve_crashkernel();
  
 -      tcm_init();
 -
  #ifdef CONFIG_MULTI_IRQ_HANDLER
        handle_arch_irq = mdesc->handle_irq;
  #endif
index a58c8b0527ccb3aad1f542b83a159c868a61655d,524e52e59d6c15b575fb355ed8ff7a474846faf7..67b9c48dcafe7dc1ee281c49ece9de88338297f4
@@@ -24,18 -24,18 +24,18 @@@ ENTRY(v7_secondary_startup
  ENDPROC(v7_secondary_startup)
  #endif
  
- #ifdef CONFIG_PM
+ #ifdef CONFIG_ARM_CPU_SUSPEND
  /*
 - * The following code is located into the .data section.  This is to
 - * allow phys_l2x0_saved_regs to be accessed with a relative load
 - * as we are running on physical address here.
 + * The following code must assume it is running from physical address
 + * where absolute virtual addresses to the data section have to be
 + * turned into relative ones.
   */
 -      .data
 -      .align
  
  #ifdef CONFIG_CACHE_L2X0
        .macro  pl310_resume
 -      ldr     r2, phys_l2x0_saved_regs
 +      adr     r0, l2x0_saved_regs_offset
 +      ldr     r2, [r0]
 +      add     r2, r2, r0
        ldr     r0, [r2, #L2X0_R_PHY_BASE]      @ get physical base of l2x0
        ldr     r1, [r2, #L2X0_R_AUX_CTRL]      @ get aux_ctrl value
        str     r1, [r0, #L2X0_AUX_CTRL]        @ restore aux_ctrl
@@@ -43,9 -43,9 +43,9 @@@
        str     r1, [r0, #L2X0_CTRL]            @ re-enable L2
        .endm
  
 -      .globl  phys_l2x0_saved_regs
 -phys_l2x0_saved_regs:
 -        .long   0
 +l2x0_saved_regs_offset:
 +      .word   l2x0_saved_regs - .
 +
  #else
        .macro  pl310_resume
        .endm
index 857b1f097fd80ac6c6e59f9406630bbea2a59174,25ed9547bfb0689265e423b60f2d2ec569b072a9..f49cd51e162afcc6055d9143ced540d8fa888ab5
@@@ -15,7 -15,6 +15,7 @@@ config ARCH_OMAP2PLU
        select OMAP_DM_TIMER
        select PINCTRL
        select PROC_DEVICETREE if PROC_FS
 +      select SOC_BUS
        select SPARSE_IRQ
        select USE_OF
        help
@@@ -37,8 -36,6 +37,6 @@@ config ARCH_OMAP2PLUS_TYPICA
        select NEON if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
        select PM_RUNTIME
        select REGULATOR
-       select SERIAL_OMAP
-       select SERIAL_OMAP_CONSOLE
        select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
        select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
        select VFP
@@@ -56,7 -53,6 +54,7 @@@ config SOC_HAS_REALTIME_COUNTE
  config ARCH_OMAP2
        bool "TI OMAP2"
        depends on ARCH_OMAP2PLUS
 +      depends on ARCH_MULTI_V6
        default y
        select CPU_V6
        select MULTI_IRQ_HANDLER
@@@ -66,7 -62,6 +64,7 @@@
  config ARCH_OMAP3
        bool "TI OMAP3"
        depends on ARCH_OMAP2PLUS
 +      depends on ARCH_MULTI_V7
        default y
        select ARCH_HAS_OPP
        select ARM_CPU_SUSPEND if PM
@@@ -83,7 -78,6 +81,7 @@@ config ARCH_OMAP
        bool "TI OMAP4"
        default y
        depends on ARCH_OMAP2PLUS
 +      depends on ARCH_MULTI_V7
        select ARCH_HAS_OPP
        select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
        select ARM_CPU_SUSPEND if PM
@@@ -91,8 -85,6 +89,8 @@@
        select ARM_GIC
        select CACHE_L2X0
        select CPU_V7
 +      select HAVE_ARM_SCU if SMP
 +      select HAVE_ARM_TWD if LOCAL_TIMERS
        select HAVE_SMP
        select LOCAL_TIMERS if SMP
        select OMAP_INTERCONNECT
        select PM_RUNTIME if CPU_IDLE
        select USB_ARCH_HAS_EHCI if USB_SUPPORT
        select COMMON_CLK
 +      select ARM_ERRATA_754322
 +      select ARM_ERRATA_775420
  
  config SOC_OMAP5
        bool "TI OMAP5"
 +      depends on ARCH_MULTI_V7
        select ARM_CPU_SUSPEND if PM
        select ARM_GIC
        select CPU_V7
@@@ -144,7 -133,6 +142,7 @@@ config SOC_TI81X
  
  config SOC_AM33XX
        bool "AM33XX support"
 +      depends on ARCH_MULTI_V7
        default y
        select ARM_CPU_SUSPEND if PM
        select CPU_V7
@@@ -321,6 -309,9 +319,6 @@@ config MACH_OMAP_ZOOM
        default y
        select OMAP_PACKAGE_CBB
        select REGULATOR_FIXED_VOLTAGE if REGULATOR
 -      select SERIAL_8250
 -      select SERIAL_8250_CONSOLE
 -      select SERIAL_CORE_CONSOLE
  
  config MACH_OMAP_ZOOM3
        bool "OMAP3630 Zoom3 board"
        default y
        select OMAP_PACKAGE_CBP
        select REGULATOR_FIXED_VOLTAGE if REGULATOR
 -      select SERIAL_8250
 -      select SERIAL_8250_CONSOLE
 -      select SERIAL_CORE_CONSOLE
  
  config MACH_CM_T35
        bool "CompuLab CM-T35/CM-T3730 modules"
@@@ -418,7 -412,7 +416,7 @@@ config OMAP3_SDRC_AC_TIMIN
  
  config OMAP4_ERRATA_I688
        bool "OMAP4 errata: Async Bridge Corruption"
 -      depends on ARCH_OMAP4 && !ARCH_MULTIPLATFORM
 +      depends on (ARCH_OMAP4 || SOC_OMAP5) && !ARCH_MULTIPLATFORM
        select ARCH_HAS_BARRIERS
        help
          If a data is stalled inside asynchronous bridge because of back
index 62bb352c2d37fd80b2793aa3d8d744ff9eec1195,302593fb76d2c8cd874781f053f1ac73500b5847..55a9d677768328d552cec82e6229402a5696a8b2
@@@ -32,12 -32,12 +32,12 @@@ obj-$(CONFIG_SOC_HAS_OMAP2_SDRC)   += sdr
  
  # SMP support ONLY available for OMAP4
  
obj-$(CONFIG_SMP)                     += omap-smp.o omap-headsmp.o
obj-$(CONFIG_HOTPLUG_CPU)             += omap-hotplug.o
smp-$(CONFIG_SMP)                     += omap-smp.o omap-headsmp.o
smp-$(CONFIG_HOTPLUG_CPU)             += omap-hotplug.o
  omap-4-5-common                               =  omap4-common.o omap-wakeupgen.o \
                                           sleep44xx.o
- obj-$(CONFIG_ARCH_OMAP4)              += $(omap-4-5-common)
- obj-$(CONFIG_SOC_OMAP5)                       += $(omap-4-5-common)
+ obj-$(CONFIG_ARCH_OMAP4)              += $(omap-4-5-common) $(smp-y)
+ obj-$(CONFIG_SOC_OMAP5)                       += $(omap-4-5-common) $(smp-y)
  
  plus_sec := $(call as-instr,.arch_extension sec,+sec)
  AFLAGS_omap-headsmp.o                 :=-Wa,-march=armv7-a$(plus_sec)
@@@ -229,6 -229,7 +229,6 @@@ obj-$(CONFIG_MACH_DEVKIT8000)      += b
  obj-$(CONFIG_MACH_OMAP_LDP)           += board-ldp.o
  obj-$(CONFIG_MACH_OMAP3530_LV_SOM)      += board-omap3logic.o
  obj-$(CONFIG_MACH_OMAP3_TORPEDO)        += board-omap3logic.o
 -obj-$(CONFIG_MACH_ENCORE)             += board-omap3encore.o
  obj-$(CONFIG_MACH_OVERO)              += board-overo.o
  obj-$(CONFIG_MACH_OMAP3EVM)           += board-omap3evm.o
  obj-$(CONFIG_MACH_OMAP3_PANDORA)      += board-omap3pandora.o
@@@ -254,6 -255,8 +254,6 @@@ obj-$(CONFIG_MACH_TOUCHBOOK)               += board-
  obj-$(CONFIG_MACH_OMAP_4430SDP)               += board-4430sdp.o
  obj-$(CONFIG_MACH_OMAP4_PANDA)                += board-omap4panda.o
  
 -obj-$(CONFIG_MACH_PCM049)             += board-omap4pcm049.o
 -
  obj-$(CONFIG_MACH_OMAP3517EVM)                += board-am3517evm.o
  
  obj-$(CONFIG_MACH_CRANEBOARD)         += board-am3517crane.o
index 80ca974b2f828de48e6e99ba4204662f08babacb,5e6ab9d6f50f0d1a8f97bca14f0563b63f6acda0..6988b117fc174a70e049df575417dea3093daa1b
@@@ -1,26 -1,6 +1,26 @@@
 +config ARCH_SIRF
 +      bool "CSR SiRF" if ARCH_MULTI_V7
 +      select ARCH_REQUIRE_GPIOLIB
 +      select GENERIC_CLOCKEVENTS
 +      select GENERIC_IRQ_CHIP
 +      select MIGHT_HAVE_CACHE_L2X0
 +      select NO_IOPORT
 +      select PINCTRL
 +      select PINCTRL_SIRF
 +      help
 +        Support for CSR SiRFprimaII/Marco/Polo platforms
 +
  if ARCH_SIRF
  
 -menu "CSR SiRF primaII/Marco/Polo Specific Features"
 +menu "CSR SiRF atlas6/primaII/Marco/Polo Specific Features"
 +
 +config ARCH_ATLAS6
 +      bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform"
 +      default y
 +      select CPU_V7
 +      select SIRF_IRQ
 +      help
 +          Support for CSR SiRFSoC ARM Cortex A9 Platform
  
  config ARCH_PRIMA2
        bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
@@@ -36,9 -16,8 +36,9 @@@ config ARCH_MARC
        default y
        select ARM_GIC
        select CPU_V7
 +      select HAVE_ARM_SCU if SMP
        select HAVE_SMP
-       select SMP_ON_UP
+       select SMP_ON_UP if SMP
        help
            Support for CSR SiRFSoC ARM Cortex A9 Platform
  
index 3621599c38adf023826bc136b335135b19778380,0000000000000000000000000000000000000000..7aa6e8cf830f5eb4796c25881b12221f19035e4d
mode 100644,000000..100644
--- /dev/null
@@@ -1,126 -1,0 +1,128 @@@
 +/*
 + * arch/arm/mach-spear13xx/spear13xx.c
 + *
 + * SPEAr13XX machines common source file
 + *
 + * Copyright (C) 2012 ST Microelectronics
 + * Viresh Kumar <viresh.linux@gmail.com>
 + *
 + * This file is licensed under the terms of the GNU General Public
 + * License version 2. This program is licensed "as is" without any
 + * warranty of any kind, whether express or implied.
 + */
 +
 +#define pr_fmt(fmt) "SPEAr13xx: " fmt
 +
 +#include <linux/amba/pl022.h>
 +#include <linux/clk.h>
 +#include <linux/clocksource.h>
 +#include <linux/err.h>
 +#include <linux/of.h>
 +#include <asm/hardware/cache-l2x0.h>
 +#include <asm/mach/map.h>
 +#include <mach/spear.h>
 +#include "generic.h"
 +
 +void __init spear13xx_l2x0_init(void)
 +{
 +      /*
 +       * 512KB (64KB/way), 8-way associativity, parity supported
 +       *
 +       * FIXME: 9th bit, of Auxillary Controller register must be set
 +       * for some spear13xx devices for stable L2 operation.
 +       *
 +       * Enable Early BRESP, L2 prefetch for Instruction and Data,
 +       * write alloc and 'Full line of zero' options
 +       *
 +       */
++      if (!IS_ENABLED(CONFIG_CACHE_L2X0))
++              return;
 +
 +      writel_relaxed(0x06, VA_L2CC_BASE + L2X0_PREFETCH_CTRL);
 +
 +      /*
 +       * Program following latencies in order to make
 +       * SPEAr1340 work at 600 MHz
 +       */
 +      writel_relaxed(0x221, VA_L2CC_BASE + L2X0_TAG_LATENCY_CTRL);
 +      writel_relaxed(0x441, VA_L2CC_BASE + L2X0_DATA_LATENCY_CTRL);
 +      l2x0_init(VA_L2CC_BASE, 0x70A60001, 0xfe00ffff);
 +}
 +
 +/*
 + * Following will create 16MB static virtual/physical mappings
 + * PHYSICAL           VIRTUAL
 + * 0xB3000000         0xFE000000
 + * 0xE0000000         0xFD000000
 + * 0xEC000000         0xFC000000
 + * 0xED000000         0xFB000000
 + */
 +struct map_desc spear13xx_io_desc[] __initdata = {
 +      {
 +              .virtual        = (unsigned long)VA_PERIP_GRP2_BASE,
 +              .pfn            = __phys_to_pfn(PERIP_GRP2_BASE),
 +              .length         = SZ_16M,
 +              .type           = MT_DEVICE
 +      }, {
 +              .virtual        = (unsigned long)VA_PERIP_GRP1_BASE,
 +              .pfn            = __phys_to_pfn(PERIP_GRP1_BASE),
 +              .length         = SZ_16M,
 +              .type           = MT_DEVICE
 +      }, {
 +              .virtual        = (unsigned long)VA_A9SM_AND_MPMC_BASE,
 +              .pfn            = __phys_to_pfn(A9SM_AND_MPMC_BASE),
 +              .length         = SZ_16M,
 +              .type           = MT_DEVICE
 +      }, {
 +              .virtual        = (unsigned long)VA_L2CC_BASE,
 +              .pfn            = __phys_to_pfn(L2CC_BASE),
 +              .length         = SZ_4K,
 +              .type           = MT_DEVICE
 +      },
 +};
 +
 +/* This will create static memory mapping for selected devices */
 +void __init spear13xx_map_io(void)
 +{
 +      iotable_init(spear13xx_io_desc, ARRAY_SIZE(spear13xx_io_desc));
 +}
 +
 +static void __init spear13xx_clk_init(void)
 +{
 +      if (of_machine_is_compatible("st,spear1310"))
 +              spear1310_clk_init(VA_MISC_BASE, VA_SPEAR1310_RAS_BASE);
 +      else if (of_machine_is_compatible("st,spear1340"))
 +              spear1340_clk_init(VA_MISC_BASE);
 +      else
 +              pr_err("%s: Unknown machine\n", __func__);
 +}
 +
 +void __init spear13xx_timer_init(void)
 +{
 +      char pclk_name[] = "osc_24m_clk";
 +      struct clk *gpt_clk, *pclk;
 +
 +      spear13xx_clk_init();
 +
 +      /* get the system timer clock */
 +      gpt_clk = clk_get_sys("gpt0", NULL);
 +      if (IS_ERR(gpt_clk)) {
 +              pr_err("%s:couldn't get clk for gpt\n", __func__);
 +              BUG();
 +      }
 +
 +      /* get the suitable parent clock for timer*/
 +      pclk = clk_get(NULL, pclk_name);
 +      if (IS_ERR(pclk)) {
 +              pr_err("%s:couldn't get %s as parent for gpt\n", __func__,
 +                              pclk_name);
 +              BUG();
 +      }
 +
 +      clk_set_parent(gpt_clk, pclk);
 +      clk_put(gpt_clk);
 +      clk_put(pclk);
 +
 +      spear_setup_of_timer();
 +      clocksource_of_init();
 +}
index 20c3b372cdf531cde6412a6fcdbefce5c5950bf0,21008fef460cb88a10bb77fb9ac8aec0d582d63c..84d72fc36dfea1434431cb0b98a388f4b178e667
@@@ -1,30 -1,13 +1,30 @@@
 -if ARCH_TEGRA
 +config ARCH_TEGRA
 +      bool "NVIDIA Tegra" if ARCH_MULTI_V7
 +      select ARCH_HAS_CPUFREQ
 +      select ARCH_REQUIRE_GPIOLIB
 +      select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
 +      select CLKSRC_OF
 +      select COMMON_CLK
 +      select GENERIC_CLOCKEVENTS
 +      select HAVE_ARM_SCU if SMP
 +      select HAVE_ARM_TWD if LOCAL_TIMERS
 +      select HAVE_CLK
 +      select HAVE_SMP
 +      select MIGHT_HAVE_CACHE_L2X0
 +      select SOC_BUS
 +      select SPARSE_IRQ
 +      select USE_OF
 +      help
 +        This enables support for NVIDIA Tegra based systems.
  
 -comment "NVIDIA Tegra options"
 +menu "NVIDIA Tegra options"
 +      depends on ARCH_TEGRA
  
  config ARCH_TEGRA_2x_SOC
        bool "Enable support for Tegra20 family"
        select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
        select ARM_ERRATA_720789
 -      select ARM_ERRATA_742230 if SMP
 -      select ARM_ERRATA_751472
        select ARM_ERRATA_754327 if SMP
        select ARM_ERRATA_764369 if SMP
        select ARM_GIC
        select PL310_ERRATA_727915 if CACHE_L2X0
        select PL310_ERRATA_769419 if CACHE_L2X0
        select USB_ARCH_HAS_EHCI if USB_SUPPORT
 -      select USB_ULPI if USB
 -      select USB_ULPI_VIEWPORT if USB_SUPPORT
 +      select USB_ULPI if USB_PHY
 +      select USB_ULPI_VIEWPORT if USB_PHY
        help
          Support for NVIDIA Tegra AP20 and T20 processors, based on the
          ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
  
  config ARCH_TEGRA_3x_SOC
        bool "Enable support for Tegra30 family"
 -      select ARM_ERRATA_743622
 -      select ARM_ERRATA_751472
        select ARM_ERRATA_754322
        select ARM_ERRATA_764369 if SMP
        select ARM_GIC
@@@ -52,8 -37,8 +52,8 @@@
        select PINCTRL_TEGRA30
        select PL310_ERRATA_769419 if CACHE_L2X0
        select USB_ARCH_HAS_EHCI if USB_SUPPORT
 -      select USB_ULPI if USB
 -      select USB_ULPI_VIEWPORT if USB_SUPPORT
 +      select USB_ULPI if USB_PHY
 +      select USB_ULPI_VIEWPORT if USB_PHY
        help
          Support for NVIDIA Tegra T30 processor family, based on the
          ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
@@@ -63,6 -48,7 +63,7 @@@ config ARCH_TEGRA_114_SO
        select ARM_ARCH_TIMER
        select ARM_GIC
        select ARM_L1_CACHE_SHIFT_6
+       select CPU_FREQ_TABLE if CPU_FREQ
        select CPU_V7
        select PINCTRL
        select PINCTRL_TEGRA114
@@@ -86,4 -72,4 +87,4 @@@ config TEGRA_AH
  config TEGRA_EMC_SCALING_ENABLE
        bool "Enable scaling the memory frequency"
  
 -endif
 +endmenu
index f66d7deae46d9d63b22ffb084605f77b69ae3fa2,350c36de77429bb48605ffc7d8d1ed6f1c5138ca..6a4387e39df809f1b21d899b89d2212924ae19cd
@@@ -1,24 -1,10 +1,26 @@@
 +config ARCH_U8500
 +      bool "ST-Ericsson U8500 Series" if ARCH_MULTI_V7
 +      depends on MMU
 +      select ARCH_HAS_CPUFREQ
 +      select ARCH_REQUIRE_GPIOLIB
 +      select ARM_AMBA
 +      select CLKDEV_LOOKUP
 +      select CPU_V7
 +      select GENERIC_CLOCKEVENTS
 +      select HAVE_ARM_SCU if SMP
 +      select HAVE_ARM_TWD if LOCAL_TIMERS
 +      select HAVE_SMP
 +      select MIGHT_HAVE_CACHE_L2X0
 +      help
 +        Support for ST-Ericsson's Ux500 architecture
 +
  if ARCH_U8500
  
  config UX500_SOC_COMMON
        bool
        default y
+       select ABX500_CORE
+       select AB8500_CORE
        select ARM_ERRATA_754322
        select ARM_ERRATA_764369 if SMP
        select ARM_GIC