]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/commitdiff
Merge branch 'bcmring/removal' into next/multiplatform
authorArnd Bergmann <arnd@arndb.de>
Fri, 28 Sep 2012 19:51:22 +0000 (21:51 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 28 Sep 2012 19:51:38 +0000 (21:51 +0200)
The removal of bcmring has non-obvious commits with the way the
multiplatform configuration works, so merge it in here.

Conflicts:
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-bcmring/arch.c

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1  2 
MAINTAINERS
arch/arm/Kconfig
arch/arm/Makefile

diff --combined MAINTAINERS
index 9d3965cbf48cb2df26e4656085581435eba52b35,c908a8c73b5115f18e3a228986268737f1688e33..e8e4fa49b5aef356a7a631cbbfecc6852c94b1c2
@@@ -595,6 -595,7 +595,6 @@@ M: Will Deacon <will.deacon@arm.com
  S:    Maintained
  F:    arch/arm/kernel/perf_event*
  F:    arch/arm/oprofile/common.c
 -F:    arch/arm/kernel/pmu.c
  F:    arch/arm/include/asm/pmu.h
  F:    arch/arm/kernel/hw_breakpoint.c
  F:    arch/arm/include/asm/hw_breakpoint.h
@@@ -657,22 -658,6 +657,6 @@@ W:        http://www.linux4sam.or
  S:    Supported
  F:    arch/arm/mach-at91/
  
- ARM/BCMRING ARM ARCHITECTURE
- M:    Jiandong Zheng <jdzheng@broadcom.com>
- M:    Scott Branden <sbranden@broadcom.com>
- L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
- S:    Maintained
- F:    arch/arm/mach-bcmring
- ARM/BCMRING MTD NAND DRIVER
- M:    Jiandong Zheng <jdzheng@broadcom.com>
- M:    Scott Branden <sbranden@broadcom.com>
- L:    linux-mtd@lists.infradead.org
- S:    Maintained
- F:    drivers/mtd/nand/bcm_umi_nand.c
- F:    drivers/mtd/nand/bcm_umi_bch.c
- F:    drivers/mtd/nand/nand_bcm_umi.h
  ARM/CALXEDA HIGHBANK ARCHITECTURE
  M:    Rob Herring <rob.herring@calxeda.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -826,24 -811,24 +810,24 @@@ F:      arch/arm/mach-pxa/colibri-pxa270-inc
  
  ARM/INTEL IOP32X ARM ARCHITECTURE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
 -M:    Dan Williams <dan.j.williams@intel.com>
 +M:    Dan Williams <djbw@fb.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
  ARM/INTEL IOP33X ARM ARCHITECTURE
 -M:    Dan Williams <dan.j.williams@intel.com>
 +M:    Dan Williams <djbw@fb.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
  ARM/INTEL IOP13XX ARM ARCHITECTURE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
 -M:    Dan Williams <dan.j.williams@intel.com>
 +M:    Dan Williams <djbw@fb.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
  ARM/INTEL IQ81342EX MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
 -M:    Dan Williams <dan.j.williams@intel.com>
 +M:    Dan Williams <djbw@fb.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
@@@ -868,7 -853,7 +852,7 @@@ F: drivers/pcmcia/pxa2xx_stargate2.
  
  ARM/INTEL XSC3 (MANZANO) ARM CORE
  M:    Lennert Buytenhek <kernel@wantstofly.org>
 -M:    Dan Williams <dan.j.williams@intel.com>
 +M:    Dan Williams <djbw@fb.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
@@@ -924,14 -909,14 +908,14 @@@ S:      Maintaine
  
  ARM/NOMADIK ARCHITECTURE
  M:    Alessandro Rubini <rubini@unipv.it>
 -M:    Linus Walleij <linus.walleij@stericsson.com>
 +M:    Linus Walleij <linus.walleij@linaro.org>
  M:    STEricsson <STEricsson_nomadik_linux@list.st.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-nomadik/
  F:    arch/arm/plat-nomadik/
  F:    drivers/i2c/busses/i2c-nomadik.c
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
  
  ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
  M:    Nelson Castillo <arhuaco@freaks-unidos.net>
@@@ -1145,7 -1130,7 +1129,7 @@@ F:      drivers/usb/host/ehci-w90x900.
  F:    drivers/video/nuc900fb.c
  
  ARM/U300 MACHINE SUPPORT
 -M:    Linus Walleij <linus.walleij@stericsson.com>
 +M:    Linus Walleij <linus.walleij@linaro.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Supported
  F:    arch/arm/mach-u300/
@@@ -1160,20 -1145,15 +1144,20 @@@ T:   git git://git.kernel.org/pub/scm/lin
  
  ARM/Ux500 ARM ARCHITECTURE
  M:    Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
 -M:    Linus Walleij <linus.walleij@stericsson.com>
 +M:    Linus Walleij <linus.walleij@linaro.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-ux500/
 +F:    drivers/clocksource/clksrc-dbx500-prcmu.c
  F:    drivers/dma/ste_dma40*
 +F:    drivers/hwspinlock/u8500_hsem.c
  F:    drivers/mfd/abx500*
  F:    drivers/mfd/ab8500*
 -F:    drivers/mfd/stmpe*
 +F:    drivers/mfd/dbx500*
 +F:    drivers/mfd/db8500*
 +F:    drivers/pinctrl/pinctrl-nomadik*
  F:    drivers/rtc/rtc-ab8500.c
 +F:    drivers/rtc/rtc-pl031.c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
  
  ARM/VFP SUPPORT
@@@ -1231,9 -1211,9 +1215,9 @@@ S:      Maintaine
  F:    drivers/hwmon/asb100.c
  
  ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
 -M:    Dan Williams <dan.j.williams@intel.com>
 +M:    Dan Williams <djbw@fb.com>
  W:    http://sourceforge.net/projects/xscaleiop
 -S:    Supported
 +S:    Maintained
  F:    Documentation/crypto/async-tx-api.txt
  F:    crypto/async_tx/
  F:    drivers/dma/
@@@ -1612,16 -1592,6 +1596,16 @@@ L:    netdev@vger.kernel.or
  S:    Supported
  F:    drivers/net/ethernet/broadcom/bnx2x/
  
 +BROADCOM BCM2835 ARM ARCHICTURE
 +M:    Stephen Warren <swarren@wwwdotorg.org>
 +L:    linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi.git
 +S:    Maintained
 +F:    arch/arm/mach-bcm2835/
 +F:    arch/arm/boot/dts/bcm2835*
 +F:    arch/arm/configs/bcm2835_defconfig
 +F:    drivers/*/*bcm2835*
 +
  BROADCOM TG3 GIGABIT ETHERNET DRIVER
  M:    Matt Carlson <mcarlson@broadcom.com>
  M:    Michael Chan <mchan@broadcom.com>
@@@ -2226,7 -2196,7 +2210,7 @@@ S:      Maintaine
  F:    drivers/scsi/tmscsim.*
  
  DC395x SCSI driver
 -M:    Oliver Neukum <oliver@neukum.name>
 +M:    Oliver Neukum <oliver@neukum.org>
  M:    Ali Akcaagac <aliakc@web.de>
  M:    Jamie Lenehan <lenehan@twibble.org>
  W:    http://twibble.org/dist/dc395x/
@@@ -2373,7 -2343,7 +2357,7 @@@ T:      git git://git.linaro.org/people/sumi
  
  DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
  M:    Vinod Koul <vinod.koul@intel.com>
 -M:    Dan Williams <dan.j.williams@intel.com>
 +M:    Dan Williams <djbw@fb.com>
  S:    Supported
  F:    drivers/dma/
  F:    include/linux/dma*
@@@ -3108,7 -3078,7 +3092,7 @@@ F:      include/linux/gigaset_dev.
  
  GPIO SUBSYSTEM
  M:    Grant Likely <grant.likely@secretlab.ca>
 -M:    Linus Walleij <linus.walleij@stericsson.com>
 +M:    Linus Walleij <linus.walleij@linaro.org>
  S:    Maintained
  T:    git git://git.secretlab.ca/git/linux-2.6.git
  F:    Documentation/gpio.txt
@@@ -3397,7 -3367,7 +3381,7 @@@ M:      "Wolfram Sang (embedded platforms)" 
  L:    linux-i2c@vger.kernel.org
  W:    http://i2c.wiki.kernel.org/
  T:    quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/
 -T:    git git://git.fluff.org/bjdooks/linux.git
 +T:    git git://git.pengutronix.de/git/wsa/linux.git
  S:    Maintained
  F:    Documentation/i2c/
  F:    drivers/i2c/
@@@ -3561,6 -3531,7 +3545,6 @@@ K:      \b(ABS|SYN)_MT
  
  INTEL C600 SERIES SAS CONTROLLER DRIVER
  M:    Intel SCU Linux support <intel-linux-scu@intel.com>
 -M:    Dan Williams <dan.j.williams@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
  M:    Ed Nadolski <edmund.nadolski@intel.com>
  L:    linux-scsi@vger.kernel.org
@@@ -3603,8 -3574,8 +3587,8 @@@ F:      arch/x86/kernel/microcode_core.
  F:    arch/x86/kernel/microcode_intel.c
  
  INTEL I/OAT DMA DRIVER
 -M:    Dan Williams <dan.j.williams@intel.com>
 -S:    Supported
 +M:    Dan Williams <djbw@fb.com>
 +S:    Maintained
  F:    drivers/dma/ioat*
  
  INTEL IOMMU (VT-d)
@@@ -3616,8 -3587,8 +3600,8 @@@ F:      drivers/iommu/intel-iommu.
  F:    include/linux/intel-iommu.h
  
  INTEL IOP-ADMA DMA DRIVER
 -M:    Dan Williams <dan.j.williams@intel.com>
 -S:    Maintained
 +M:    Dan Williams <djbw@fb.com>
 +S:    Odd fixes
  F:    drivers/dma/iop-adma.c
  
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
@@@ -4546,7 -4517,7 +4530,7 @@@ S:      Supporte
  F:    arch/microblaze/
  
  MICROTEK X6 SCANNER
 -M:    Oliver Neukum <oliver@neukum.name>
 +M:    Oliver Neukum <oliver@neukum.org>
  S:    Maintained
  F:    drivers/usb/image/microtek.*
  
@@@ -5342,15 -5313,14 +5326,15 @@@ PIN CONTROL SUBSYSTE
  M:    Linus Walleij <linus.walleij@linaro.org>
  S:    Maintained
  F:    drivers/pinctrl/
 +F:    include/linux/pinctrl/
  
  PIN CONTROLLER - ST SPEAR
 -M:     Viresh Kumar <viresh.linux@gmail.com>
 +M:    Viresh Kumar <viresh.linux@gmail.com>
  L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
 -F:    driver/pinctrl/spear/
 +F:    drivers/pinctrl/spear/
  
  PKTCDVD DRIVER
  M:    Peter Osterlund <petero2@telia.com>
@@@ -7085,7 -7055,7 +7069,7 @@@ F:      include/linux/mtd/ubi.
  F:    include/mtd/ubi-user.h
  
  USB ACM DRIVER
 -M:    Oliver Neukum <oliver@neukum.name>
 +M:    Oliver Neukum <oliver@neukum.org>
  L:    linux-usb@vger.kernel.org
  S:    Maintained
  F:    Documentation/usb/acm.txt
@@@ -7106,7 -7076,7 +7090,7 @@@ S:      Supporte
  F:    drivers/block/ub.c
  
  USB CDC ETHERNET DRIVER
 -M:    Oliver Neukum <oliver@neukum.name>
 +M:    Oliver Neukum <oliver@neukum.org>
  L:    linux-usb@vger.kernel.org
  S:    Maintained
  F:    drivers/net/usb/cdc_*.c
@@@ -7179,7 -7149,7 +7163,7 @@@ F:      drivers/usb/host/isp116x
  F:    include/linux/usb/isp116x.h
  
  USB KAWASAKI LSI DRIVER
 -M:    Oliver Neukum <oliver@neukum.name>
 +M:    Oliver Neukum <oliver@neukum.org>
  L:    linux-usb@vger.kernel.org
  S:    Maintained
  F:    drivers/usb/serial/kl5kusb105.*
@@@ -7297,12 -7267,6 +7281,12 @@@ W:    http://www.connecttech.co
  S:    Supported
  F:    drivers/usb/serial/whiteheat*
  
 +USB SMSC75XX ETHERNET DRIVER
 +M:    Steve Glendinning <steve.glendinning@shawell.net>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/usb/smsc75xx.*
 +
  USB SMSC95XX ETHERNET DRIVER
  M:    Steve Glendinning <steve.glendinning@shawell.net>
  L:    netdev@vger.kernel.org
@@@ -7685,28 -7649,23 +7669,28 @@@ S:   Supporte
  F:    Documentation/hwmon/wm83??
  F:    arch/arm/mach-s3c64xx/mach-crag6410*
  F:    drivers/clk/clk-wm83*.c
 +F:    drivers/extcon/extcon-arizona.c
  F:    drivers/leds/leds-wm83*.c
  F:    drivers/gpio/gpio-*wm*.c
 +F:    drivers/gpio/gpio-arizona.c
  F:    drivers/hwmon/wm83??-hwmon.c
  F:    drivers/input/misc/wm831x-on.c
  F:    drivers/input/touchscreen/wm831x-ts.c
  F:    drivers/input/touchscreen/wm97*.c
 -F:    drivers/mfd/wm8*.c
 +F:    drivers/mfd/arizona*
 +F:    drivers/mfd/wm*.c
  F:    drivers/power/wm83*.c
  F:    drivers/rtc/rtc-wm83*.c
  F:    drivers/regulator/wm8*.c
  F:    drivers/video/backlight/wm83*_bl.c
  F:    drivers/watchdog/wm83*_wdt.c
 +F:    include/linux/mfd/arizona/
  F:    include/linux/mfd/wm831x/
  F:    include/linux/mfd/wm8350/
  F:    include/linux/mfd/wm8400*
  F:    include/linux/wm97xx.h
  F:    include/sound/wm????.h
 +F:    sound/soc/codecs/arizona.?
  F:    sound/soc/codecs/wm*
  
  WORKQUEUE
diff --combined arch/arm/Kconfig
index f416422ddb0e00366669ea9d2b5a629fcf1df465,ce61f4a6fc4a20b16e1e258012913fbc3fa5948d..f7673b4e56bc8a74e87d112cf5fa2d4ceefa1a5b
@@@ -6,7 -6,7 +6,7 @@@ config AR
        select HAVE_DMA_API_DEBUG
        select HAVE_IDE if PCI || ISA || PCMCIA
        select HAVE_DMA_ATTRS
 -      select HAVE_DMA_CONTIGUOUS if (CPU_V6 || CPU_V6K || CPU_V7)
 +      select HAVE_DMA_CONTIGUOUS if MMU
        select HAVE_MEMBLOCK
        select RTC_LIB
        select SYS_SUPPORTS_APM_EMULATION
@@@ -38,6 -38,7 +38,6 @@@
        select HARDIRQS_SW_RESEND
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
 -      select GENERIC_IRQ_PROBE
        select ARCH_WANT_IPC_PARSE_VERSION
        select HARDIRQS_SW_RESEND
        select CPU_PM if (SUSPEND || CPU_IDLE)
@@@ -125,6 -126,11 +125,6 @@@ config TRACE_IRQFLAGS_SUPPOR
        bool
        default y
  
 -config GENERIC_LOCKBREAK
 -      bool
 -      default y
 -      depends on SMP && PREEMPT
 -
  config RWSEM_GENERIC_SPINLOCK
        bool
        default y
@@@ -202,13 -208,6 +202,13 @@@ config ARM_PATCH_PHYS_VIR
          this feature (eg, building a kernel for a single machine) and
          you need to shrink the kernel to the minimal size.
  
 +config NEED_MACH_GPIO_H
 +      bool
 +      help
 +        Select this when mach/gpio.h is required to provide special
 +        definitions for this platform. The need for mach/gpio.h should
 +        be avoided when possible.
 +
  config NEED_MACH_IO_H
        bool
        help
@@@ -254,29 -253,39 +254,29 @@@ config MM
  #
  choice
        prompt "ARM system type"
 -      default ARCH_VERSATILE
 +      default ARCH_MULTIPLATFORM
  
 -config ARCH_SOCFPGA
 -      bool "Altera SOCFPGA family"
 -      select ARCH_WANT_OPTIONAL_GPIOLIB
 -      select ARM_AMBA
 -      select ARM_GIC
 -      select CACHE_L2X0
 -      select CLKDEV_LOOKUP
 +config ARCH_MULTIPLATFORM
 +      bool "Allow multiple platforms to be selected"
 +      select ARM_PATCH_PHYS_VIRT
 +      select AUTO_ZRELADDR
        select COMMON_CLK
 -      select CPU_V7
 -      select DW_APB_TIMER
 -      select DW_APB_TIMER_OF
 -      select GENERIC_CLOCKEVENTS
 -      select GPIO_PL061 if GPIOLIB
 -      select HAVE_ARM_SCU
 +      select MULTI_IRQ_HANDLER
        select SPARSE_IRQ
        select USE_OF
 -      help
 -        This enables support for Altera SOCFPGA Cyclone V platform
 +      depends on MMU
  
  config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select ARM_AMBA
        select ARCH_HAS_CPUFREQ
        select COMMON_CLK
 -      select CLK_VERSATILE
 +      select COMMON_CLK_VERSATILE
        select HAVE_TCM
        select ICST
        select GENERIC_CLOCKEVENTS
        select PLAT_VERSATILE
        select PLAT_VERSATILE_FPGA_IRQ
 -      select NEED_MACH_IO_H
        select NEED_MACH_MEMORY_H
        select SPARSE_IRQ
        select MULTI_IRQ_HANDLER
  config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
        select ARM_AMBA
 -      select CLKDEV_LOOKUP
 -      select HAVE_MACH_CLKDEV
 +      select COMMON_CLK
 +      select COMMON_CLK_VERSATILE
        select ICST
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select PLAT_VERSATILE
 -      select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_CLCD
        select ARM_TIMER_SP804
        select GPIO_PL061 if GPIOLIB
@@@ -308,6 -318,7 +308,6 @@@ config ARCH_VERSATIL
        select ICST
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
 -      select NEED_MACH_IO_H if PCI
        select PLAT_VERSATILE
        select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_CLCD
        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 CLKDEV_LOOKUP
 -      select COMMON_CLK
 -      select GENERIC_CLOCKEVENTS
 -      select HAVE_CLK
 -      select HAVE_PATA_PLATFORM
 -      select ICST
 -      select NO_IOPORT
 -      select PLAT_VERSATILE
 -      select PLAT_VERSATILE_CLCD
 -      select REGULATOR_FIXED_VOLTAGE if REGULATOR
 -      help
 -        This enables support for the ARM Ltd Versatile Express boards.
 -
  config ARCH_AT91
        bool "Atmel AT91"
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_CLK
        select CLKDEV_LOOKUP
        select IRQ_DOMAIN
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H if PCCARD
        help
          This enables support for systems based on Atmel
          AT91RM9200 and AT91SAM9* processors.
  
 -config ARCH_HIGHBANK
 -      bool "Calxeda Highbank-based"
 +config ARCH_BCM2835
 +      bool "Broadcom BCM2835 family"
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select ARM_AMBA
 -      select ARM_GIC
 +      select ARM_ERRATA_411920
        select ARM_TIMER_SP804
 -      select CACHE_L2X0
        select CLKDEV_LOOKUP
        select COMMON_CLK
 -      select CPU_V7
 +      select CPU_V6
        select GENERIC_CLOCKEVENTS
 -      select HAVE_ARM_SCU
 -      select HAVE_SMP
 +      select MULTI_IRQ_HANDLER
        select SPARSE_IRQ
        select USE_OF
        help
 -        Support for the Calxeda Highbank SoC based boards.
 +        This enables support for the Broadcom BCM2835 SoC. This SoC is
 +        use in the Raspberry Pi, and Roku 2 devices.
  
- config ARCH_BCMRING
-       bool "Broadcom BCMRING"
-       depends on MMU
-       select CPU_V6
-       select ARM_AMBA
-       select ARM_TIMER_SP804
-       select CLKDEV_LOOKUP
-       select GENERIC_CLOCKEVENTS
-       select ARCH_WANT_OPTIONAL_GPIOLIB
-       help
-         Support for Broadcom's BCMRing platform.
  config ARCH_CLPS711X
        bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
        select CPU_ARM720T
@@@ -384,19 -401,21 +372,19 @@@ config ARCH_GEMIN
        help
          Support for the Cortina Systems Gemini family SoCs
  
 -config ARCH_PRIMA2
 -      bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
 -      select CPU_V7
 +config ARCH_SIRF
 +      bool "CSR SiRF"
        select NO_IOPORT
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select CLKDEV_LOOKUP
 +      select COMMON_CLK
        select GENERIC_IRQ_CHIP
        select MIGHT_HAVE_CACHE_L2X0
        select PINCTRL
        select PINCTRL_SIRF
        select USE_OF
 -      select ZONE_DMA
        help
 -          Support for CSR SiRFSoC ARM Cortex A9 Platform
 +        Support for CSR SiRFprimaII/Marco/Polo platforms
  
  config ARCH_EBSA110
        bool "EBSA-110"
@@@ -431,7 -450,7 +419,7 @@@ config ARCH_FOOTBRIDG
        select FOOTBRIDGE
        select GENERIC_CLOCKEVENTS
        select HAVE_IDE
 -      select NEED_MACH_IO_H
 +      select NEED_MACH_IO_H if !MMU
        select NEED_MACH_MEMORY_H
        help
          Support for systems based on the DC21285 companion chip
@@@ -488,6 -507,7 +476,6 @@@ config ARCH_IOP13X
        select PCI
        select ARCH_SUPPORTS_MSI
        select VMSPLIT_1G
 -      select NEED_MACH_IO_H
        select NEED_MACH_MEMORY_H
        select NEED_RET_TO_USER
        help
@@@ -497,7 -517,6 +485,7 @@@ config ARCH_IOP32
        bool "IOP32x-based"
        depends on MMU
        select CPU_XSCALE
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        select NEED_RET_TO_USER
        select PLAT_IOP
@@@ -511,7 -530,6 +499,7 @@@ config ARCH_IOP33
        bool "IOP33x-based"
        depends on MMU
        select CPU_XSCALE
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        select NEED_RET_TO_USER
        select PLAT_IOP
@@@ -534,12 -552,25 +522,12 @@@ config ARCH_IXP4X
        help
          Support for Intel's IXP4XX (XScale) family of processors.
  
 -config ARCH_MVEBU
 -      bool "Marvell SOCs with Device Tree support"
 -      select GENERIC_CLOCKEVENTS
 -      select MULTI_IRQ_HANDLER
 -      select SPARSE_IRQ
 -      select CLKSRC_MMIO
 -      select GENERIC_IRQ_CHIP
 -      select IRQ_DOMAIN
 -      select COMMON_CLK
 -      help
 -        Support for the Marvell SoC Family with device tree support
 -
  config ARCH_DOVE
        bool "Marvell Dove"
        select CPU_V7
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the Marvell Dove SoC 88AP510
@@@ -550,6 -581,7 +538,6 @@@ config ARCH_KIRKWOO
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the following Marvell Kirkwood series SoCs:
@@@ -576,6 -608,7 +564,6 @@@ config ARCH_MV78XX
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the following Marvell MV78xx0 series SoCs:
@@@ -588,6 -621,7 +576,6 @@@ config ARCH_ORION5
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the following Marvell Orion 5x series SoCs:
@@@ -605,7 -639,6 +593,7 @@@ config ARCH_MM
        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.
  
@@@ -613,9 -646,8 +601,9 @@@ config ARCH_KS869
        bool "Micrel/Kendin KS8695"
        select CPU_ARM922T
        select ARCH_REQUIRE_GPIOLIB
 -      select ARCH_USES_GETTIMEOFFSET
        select NEED_MACH_MEMORY_H
 +      select CLKSRC_MMIO
 +      select GENERIC_CLOCKEVENTS
        help
          Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
          System-on-Chip devices.
@@@ -645,13 -677,40 +633,13 @@@ config ARCH_TEGR
        select HAVE_CLK
        select HAVE_SMP
        select MIGHT_HAVE_CACHE_L2X0
 -      select NEED_MACH_IO_H if PCI
        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_PICOXCELL
 -      bool "Picochip picoXcell"
 -      select ARCH_REQUIRE_GPIOLIB
 -      select ARM_PATCH_PHYS_VIRT
 -      select ARM_VIC
 -      select CPU_V6K
 -      select DW_APB_TIMER
 -      select DW_APB_TIMER_OF
 -      select GENERIC_CLOCKEVENTS
 -      select GENERIC_GPIO
 -      select HAVE_TCM
 -      select NO_IOPORT
 -      select SPARSE_IRQ
 -      select USE_OF
 -      help
 -        This enables support for systems based on the Picochip picoXcell
 -        family of Femtocell devices.  The picoxcell support requires device tree
 -        for all boards.
 -
 -config ARCH_PNX4008
 -      bool "Philips Nexperia PNX4008 Mobile"
 -      select CPU_ARM926T
 -      select CLKDEV_LOOKUP
 -      select ARCH_USES_GETTIMEOFFSET
 -      help
 -        This enables support for Philips PNX4008 mobile platform.
 -
  config ARCH_PXA
        bool "PXA2xx/PXA3xx-based"
        depends on MMU
        select MULTI_IRQ_HANDLER
        select ARM_CPU_SUSPEND if PM
        select HAVE_IDE
 +      select NEED_MACH_GPIO_H
        help
          Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
  
@@@ -731,7 -789,6 +719,7 @@@ config ARCH_SA110
        select CLKDEV_LOOKUP
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_IDE
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        select SPARSE_IRQ
        help
@@@ -747,7 -804,6 +735,7 @@@ config ARCH_S3C24X
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        help
          Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
@@@ -775,7 -831,6 +763,7 @@@ config ARCH_S3C64X
        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
  
@@@ -790,7 -845,6 +778,7 @@@ config ARCH_S5P64X
        select GENERIC_CLOCKEVENTS
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C_RTC if RTC_CLASS
 +      select NEED_MACH_GPIO_H
        help
          Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
          SMDK6450.
@@@ -805,7 -859,6 +793,7 @@@ config ARCH_S5PC10
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        help
          Samsung S5PC100 series based systems
  
@@@ -823,7 -876,6 +811,7 @@@ config ARCH_S5PV21
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        help
          Samsung S5PV210/S5PC110 series based systems
@@@ -841,7 -893,6 +829,7 @@@ config ARCH_EXYNO
        select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        help
          Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
@@@ -855,6 -906,7 +843,6 @@@ config ARCH_SHAR
        select PCI
        select ARCH_USES_GETTIMEOFFSET
        select NEED_MACH_MEMORY_H
 -      select NEED_MACH_IO_H
        help
          Support for the StrongARM based Digital DNARD machine, also known
          as "Shark" (<http://www.shark-linux.de/shark.html>).
@@@ -873,7 -925,6 +861,7 @@@ config ARCH_U30
        select COMMON_CLK
        select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
 +      select SPARSE_IRQ
        help
          Support for ST-Ericsson U300 series mobile platforms.
  
@@@ -914,7 -965,6 +902,7 @@@ config ARCH_DAVINC
        select GENERIC_ALLOCATOR
        select GENERIC_IRQ_CHIP
        select ARCH_HAS_HOLES_MEMORYMODEL
 +      select NEED_MACH_GPIO_H
        help
          Support for TI's DaVinci platform.
  
@@@ -927,7 -977,6 +915,7 @@@ config ARCH_OMA
        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).
  
@@@ -967,50 -1016,6 +955,50 @@@ config ARCH_ZYN
          Support for Xilinx Zynq ARM Cortex A9 Platform
  endchoice
  
 +menu "Multiple platform selection"
 +      depends on ARCH_MULTIPLATFORM
 +
 +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
 +
 +config ARCH_MULTI_V4T
 +      bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
 +      select ARCH_MULTI_V4_V5
 +      depends on !ARCH_MULTI_V6_V7
 +
 +config ARCH_MULTI_V5
 +      bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
 +      select ARCH_MULTI_V4_V5
 +      depends on !ARCH_MULTI_V6_V7
 +
 +config ARCH_MULTI_V4_V5
 +      bool
 +
 +config ARCH_MULTI_V6
 +      bool "ARMv6 based platforms (ARM11, Scorpion, ...)"
 +      select CPU_V6
 +      select ARCH_MULTI_V6_V7
 +
 +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
 +
 +config ARCH_MULTI_V6_V7
 +      bool
 +
 +config ARCH_MULTI_CPU_AUTO
 +      def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
 +      select ARCH_MULTI_V5
 +
 +endmenu
 +
  #
  # This is sorted alphabetically by mach-* pathname.  However, plat-*
  # Kconfigs may be included either alphabetically (according to the
@@@ -1020,8 -1025,6 +1008,6 @@@ source "arch/arm/mach-mvebu/Kconfig
  
  source "arch/arm/mach-at91/Kconfig"
  
- source "arch/arm/mach-bcmring/Kconfig"
  source "arch/arm/mach-clps711x/Kconfig"
  
  source "arch/arm/mach-cns3xxx/Kconfig"
@@@ -1038,8 -1041,6 +1024,8 @@@ source "arch/arm/mach-gemini/Kconfig
  
  source "arch/arm/mach-h720x/Kconfig"
  
 +source "arch/arm/mach-highbank/Kconfig"
 +
  source "arch/arm/mach-integrator/Kconfig"
  
  source "arch/arm/mach-iop32x/Kconfig"
@@@ -1075,8 -1076,6 +1061,8 @@@ source "arch/arm/mach-omap2/Kconfig
  
  source "arch/arm/mach-orion5x/Kconfig"
  
 +source "arch/arm/mach-picoxcell/Kconfig"
 +
  source "arch/arm/mach-pxa/Kconfig"
  source "arch/arm/plat-pxa/Kconfig"
  
@@@ -1089,8 -1088,6 +1075,8 @@@ source "arch/arm/mach-sa1100/Kconfig
  source "arch/arm/plat-samsung/Kconfig"
  source "arch/arm/plat-s3c24xx/Kconfig"
  
 +source "arch/arm/mach-socfpga/Kconfig"
 +
  source "arch/arm/plat-spear/Kconfig"
  
  source "arch/arm/mach-s3c24xx/Kconfig"
@@@ -1113,8 -1110,6 +1099,8 @@@ source "arch/arm/mach-exynos/Kconfig
  
  source "arch/arm/mach-shmobile/Kconfig"
  
 +source "arch/arm/mach-prima2/Kconfig"
 +
  source "arch/arm/mach-tegra/Kconfig"
  
  source "arch/arm/mach-u300/Kconfig"
@@@ -1176,6 -1171,12 +1162,6 @@@ config XSCALE_PM
        depends on CPU_XSCALE
        default y
  
 -config CPU_HAS_PMU
 -      depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
 -                 (!ARCH_OMAP3 || OMAP3_EMU)
 -      default y
 -      bool
 -
  config MULTI_IRQ_HANDLER
        bool
        help
@@@ -1748,7 -1749,7 +1734,7 @@@ config HIGHPT
  
  config HW_PERF_EVENTS
        bool "Enable hardware performance counter support for perf events"
 -      depends on PERF_EVENTS && CPU_HAS_PMU
 +      depends on PERF_EVENTS
        default y
        help
          Enable hardware performance counter support for perf events. If
@@@ -2051,7 -2052,7 +2037,7 @@@ endchoic
  
  config XIP_KERNEL
        bool "Kernel Execute-In-Place from ROM"
 -      depends on !ZBOOT_ROM && !ARM_LPAE
 +      depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM
        help
          Execute-In-Place allows the kernel to run from non-volatile storage
          directly addressable by the CPU, such as NOR flash. This saves RAM
@@@ -2135,7 -2136,6 +2121,7 @@@ 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.
  
diff --combined arch/arm/Makefile
index 1c974cf9db1bf66fa9e8a2bc83bf247f8e61102a,8383e2ed69065678bc80f4c4eb6e42018816c797..770da51242c412684cd0ba609ff955ee029c48da
@@@ -135,79 -135,83 +135,78 @@@ textofs-$(CONFIG_ARCH_MSM8960) := 0x002
  
  # Machine directory name.  This list is sorted alphanumerically
  # by CONFIG_* macro name.
 -machine-$(CONFIG_ARCH_AT91)           := at91
 -machine-$(CONFIG_ARCH_CLPS711X)               := clps711x
 -machine-$(CONFIG_ARCH_CNS3XXX)                := cns3xxx
 -machine-$(CONFIG_ARCH_DAVINCI)                := davinci
 -machine-$(CONFIG_ARCH_DOVE)           := dove
 -machine-$(CONFIG_ARCH_EBSA110)                := ebsa110
 -machine-$(CONFIG_ARCH_EP93XX)         := ep93xx
 -machine-$(CONFIG_ARCH_GEMINI)         := gemini
 -machine-$(CONFIG_ARCH_H720X)          := h720x
 -machine-$(CONFIG_ARCH_HIGHBANK)               := highbank
 -machine-$(CONFIG_ARCH_INTEGRATOR)     := integrator
 -machine-$(CONFIG_ARCH_IOP13XX)                := iop13xx
 -machine-$(CONFIG_ARCH_IOP32X)         := iop32x
 -machine-$(CONFIG_ARCH_IOP33X)         := iop33x
 -machine-$(CONFIG_ARCH_IXP4XX)         := ixp4xx
 -machine-$(CONFIG_ARCH_KIRKWOOD)               := kirkwood
 -machine-$(CONFIG_ARCH_KS8695)         := ks8695
 -machine-$(CONFIG_ARCH_LPC32XX)                := lpc32xx
 -machine-$(CONFIG_ARCH_MMP)            := mmp
 -machine-$(CONFIG_ARCH_MSM)            := msm
 -machine-$(CONFIG_ARCH_MV78XX0)                := mv78xx0
 -machine-$(CONFIG_ARCH_IMX_V4_V5)      := imx
 -machine-$(CONFIG_ARCH_IMX_V6_V7)      := imx
 -machine-$(CONFIG_ARCH_MXS)            := mxs
 -machine-$(CONFIG_ARCH_MVEBU)          := mvebu
 -machine-$(CONFIG_ARCH_NETX)           := netx
 -machine-$(CONFIG_ARCH_NOMADIK)                := nomadik
 -machine-$(CONFIG_ARCH_OMAP1)          := omap1
 -machine-$(CONFIG_ARCH_OMAP2PLUS)      := omap2
 -machine-$(CONFIG_ARCH_ORION5X)                := orion5x
 -machine-$(CONFIG_ARCH_PICOXCELL)      := picoxcell
 -machine-$(CONFIG_ARCH_PNX4008)                := pnx4008
 -machine-$(CONFIG_ARCH_PRIMA2)         := prima2
 -machine-$(CONFIG_ARCH_PXA)            := pxa
 -machine-$(CONFIG_ARCH_REALVIEW)               := realview
 -machine-$(CONFIG_ARCH_RPC)            := rpc
 -machine-$(CONFIG_ARCH_S3C24XX)                := s3c24xx s3c2412 s3c2440
 -machine-$(CONFIG_ARCH_S3C64XX)                := s3c64xx
 -machine-$(CONFIG_ARCH_S5P64X0)                := s5p64x0
 -machine-$(CONFIG_ARCH_S5PC100)                := s5pc100
 -machine-$(CONFIG_ARCH_S5PV210)                := s5pv210
 -machine-$(CONFIG_ARCH_EXYNOS4)                := exynos
 -machine-$(CONFIG_ARCH_EXYNOS5)                := exynos
 -machine-$(CONFIG_ARCH_SA1100)         := sa1100
 -machine-$(CONFIG_ARCH_SHARK)          := shark
 -machine-$(CONFIG_ARCH_SHMOBILE)       := shmobile
 -machine-$(CONFIG_ARCH_TEGRA)          := tegra
 -machine-$(CONFIG_ARCH_U300)           := u300
 -machine-$(CONFIG_ARCH_U8500)          := ux500
 -machine-$(CONFIG_ARCH_VERSATILE)      := versatile
 -machine-$(CONFIG_ARCH_VEXPRESS)               := vexpress
 -machine-$(CONFIG_ARCH_VT8500)         := vt8500
 -machine-$(CONFIG_ARCH_W90X900)                := w90x900
 -machine-$(CONFIG_FOOTBRIDGE)          := footbridge
 -machine-$(CONFIG_ARCH_SOCFPGA)                := socfpga
 -machine-$(CONFIG_MACH_SPEAR1310)      := spear13xx
 -machine-$(CONFIG_MACH_SPEAR1340)      := spear13xx
 -machine-$(CONFIG_MACH_SPEAR300)               := spear3xx
 -machine-$(CONFIG_MACH_SPEAR310)               := spear3xx
 -machine-$(CONFIG_MACH_SPEAR320)               := spear3xx
 -machine-$(CONFIG_MACH_SPEAR600)               := spear6xx
 -machine-$(CONFIG_ARCH_ZYNQ)           := zynq
 +machine-$(CONFIG_ARCH_AT91)           += at91
 +machine-$(CONFIG_ARCH_BCM2835)                += bcm2835
- machine-$(CONFIG_ARCH_BCMRING)                += bcmring
 +machine-$(CONFIG_ARCH_CLPS711X)               += clps711x
 +machine-$(CONFIG_ARCH_CNS3XXX)                += cns3xxx
 +machine-$(CONFIG_ARCH_DAVINCI)                += davinci
 +machine-$(CONFIG_ARCH_DOVE)           += dove
 +machine-$(CONFIG_ARCH_EBSA110)                += ebsa110
 +machine-$(CONFIG_ARCH_EP93XX)         += ep93xx
 +machine-$(CONFIG_ARCH_GEMINI)         += gemini
 +machine-$(CONFIG_ARCH_H720X)          += h720x
 +machine-$(CONFIG_ARCH_HIGHBANK)               += highbank
 +machine-$(CONFIG_ARCH_INTEGRATOR)     += integrator
 +machine-$(CONFIG_ARCH_IOP13XX)                += iop13xx
 +machine-$(CONFIG_ARCH_IOP32X)         += iop32x
 +machine-$(CONFIG_ARCH_IOP33X)         += iop33x
 +machine-$(CONFIG_ARCH_IXP4XX)         += ixp4xx
 +machine-$(CONFIG_ARCH_KIRKWOOD)               += kirkwood
 +machine-$(CONFIG_ARCH_KS8695)         += ks8695
 +machine-$(CONFIG_ARCH_LPC32XX)                += lpc32xx
 +machine-$(CONFIG_ARCH_MMP)            += mmp
 +machine-$(CONFIG_ARCH_MSM)            += msm
 +machine-$(CONFIG_ARCH_MV78XX0)                += mv78xx0
 +machine-$(CONFIG_ARCH_MXC)            += imx
 +machine-$(CONFIG_ARCH_MXS)            += mxs
 +machine-$(CONFIG_ARCH_MVEBU)          += mvebu
 +machine-$(CONFIG_ARCH_NETX)           += netx
 +machine-$(CONFIG_ARCH_NOMADIK)                += nomadik
 +machine-$(CONFIG_ARCH_OMAP1)          += omap1
 +machine-$(CONFIG_ARCH_OMAP2PLUS)      += omap2
 +machine-$(CONFIG_ARCH_ORION5X)                += orion5x
 +machine-$(CONFIG_ARCH_PICOXCELL)      += picoxcell
 +machine-$(CONFIG_ARCH_PRIMA2)         += prima2
 +machine-$(CONFIG_ARCH_PXA)            += pxa
 +machine-$(CONFIG_ARCH_REALVIEW)               += realview
 +machine-$(CONFIG_ARCH_RPC)            += rpc
 +machine-$(CONFIG_ARCH_S3C24XX)                += s3c24xx s3c2412 s3c2440
 +machine-$(CONFIG_ARCH_S3C64XX)                += s3c64xx
 +machine-$(CONFIG_ARCH_S5P64X0)                += s5p64x0
 +machine-$(CONFIG_ARCH_S5PC100)                += s5pc100
 +machine-$(CONFIG_ARCH_S5PV210)                += s5pv210
 +machine-$(CONFIG_ARCH_EXYNOS)         += exynos
 +machine-$(CONFIG_ARCH_SA1100)         += sa1100
 +machine-$(CONFIG_ARCH_SHARK)          += shark
 +machine-$(CONFIG_ARCH_SHMOBILE)       += shmobile
 +machine-$(CONFIG_ARCH_TEGRA)          += tegra
 +machine-$(CONFIG_ARCH_U300)           += u300
 +machine-$(CONFIG_ARCH_U8500)          += ux500
 +machine-$(CONFIG_ARCH_VERSATILE)      += versatile
 +machine-$(CONFIG_ARCH_VEXPRESS)               += vexpress
 +machine-$(CONFIG_ARCH_VT8500)         += vt8500
 +machine-$(CONFIG_ARCH_W90X900)                += w90x900
 +machine-$(CONFIG_FOOTBRIDGE)          += footbridge
 +machine-$(CONFIG_ARCH_SOCFPGA)                += socfpga
 +machine-$(CONFIG_ARCH_SPEAR13XX)      += spear13xx
 +machine-$(CONFIG_ARCH_SPEAR3XX)               += spear3xx
 +machine-$(CONFIG_MACH_SPEAR600)               += spear6xx
 +machine-$(CONFIG_ARCH_ZYNQ)           += zynq
  
  # Platform directory name.  This list is sorted alphanumerically
  # by CONFIG_* macro name.
 -plat-$(CONFIG_ARCH_MXC)               := mxc
 -plat-$(CONFIG_ARCH_OMAP)      := omap
 -plat-$(CONFIG_ARCH_S3C64XX)   := samsung
 -plat-$(CONFIG_ARCH_ZYNQ)      := versatile
 -plat-$(CONFIG_PLAT_IOP)               := iop
 -plat-$(CONFIG_PLAT_NOMADIK)   := nomadik
 -plat-$(CONFIG_PLAT_ORION)     := orion
 -plat-$(CONFIG_PLAT_PXA)               := pxa
 -plat-$(CONFIG_PLAT_S3C24XX)   := s3c24xx samsung
 -plat-$(CONFIG_PLAT_S5P)               := samsung
 -plat-$(CONFIG_PLAT_SPEAR)     := spear
 -plat-$(CONFIG_PLAT_VERSATILE) := versatile
 +plat-$(CONFIG_ARCH_MXC)               += mxc
 +plat-$(CONFIG_ARCH_OMAP)      += omap
 +plat-$(CONFIG_ARCH_S3C64XX)   += samsung
 +plat-$(CONFIG_ARCH_ZYNQ)      += versatile
 +plat-$(CONFIG_PLAT_IOP)               += iop
 +plat-$(CONFIG_PLAT_NOMADIK)   += nomadik
 +plat-$(CONFIG_PLAT_ORION)     += orion
 +plat-$(CONFIG_PLAT_PXA)               += pxa
 +plat-$(CONFIG_PLAT_S3C24XX)   += s3c24xx samsung
 +plat-$(CONFIG_PLAT_S5P)               += samsung
 +plat-$(CONFIG_PLAT_SPEAR)     += spear
 +plat-$(CONFIG_PLAT_VERSATILE) += versatile
  
  ifeq ($(CONFIG_ARCH_EBSA110),y)
  # This is what happens if you forget the IOCS16 line.
@@@ -225,20 -229,15 +224,20 @@@ MACHINE  := arch/arm/mach-$(word 1,$(ma
  else
  MACHINE  :=
  endif
 +ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
 +MACHINE  :=
 +endif
  
  machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
  platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
  
 +ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)
  ifeq ($(KBUILD_SRC),)
  KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs))
  else
  KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
  endif
 +endif
  
  export        TEXT_OFFSET GZFLAGS MMUEXT
  
@@@ -284,10 -283,10 +283,10 @@@ zImage Image xipImage bootpImage uImage
  zinstall uinstall install: vmlinux
        $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
  
 -%.dtb:
 +%.dtb: scripts
        $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
  
 -dtbs:
 +dtbs: scripts
        $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
  
  # We use MRPROPER_FILES and CLEAN_FILES now