Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 2 Oct 2012 01:24:44 +0000 (18:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 2 Oct 2012 01:24:44 +0000 (18:24 -0700)
Pull ARM soc-specific updates from Olof Johansson:
 "Most notable here is probably the addition of basic support for the
  BCM2835, an SoC used in some of the Roku 2 players as well as the
  much-hyped Raspberry Pi, cleaned up and contributed by Stephen Warren.
  It's still early days on mainline support, with just the basics
  working.  But it has to start somewhere!

  Beyond that there's some conversions of clock infrastructure on tegra
  to common clock, misc updates for several other platforms, and OMAP
  now has its own bus (under drivers/bus) to manage its devices through.

  This branch adds two new directories outside of arch/arm:
  drivers/irqchip for new irq controllers, and drivers/bus for the above
  OMAP bus.  It's expected that some of the other platforms will migrate
  parts of their platforms to those directories over time as well."

Fix up trivial conflicts with the clk infrastructure changes.

* tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (62 commits)
  ARM: shmobile: add new __iomem annotation for new code
  ARM: LPC32xx: Support GPI 28
  ARM: LPC32xx: Platform update for devicetree completion of spi-pl022
  ARM: LPC32xx: Board cleanup
  irqchip: fill in empty Kconfig
  ARM: SAMSUNG: Add check for NULL in clock interface
  ARM: EXYNOS: Put PCM, Slimbus, Spdif clocks to off state
  ARM: EXYNOS: Add bus clock for FIMD
  ARM: SAMSUNG: Fix HDMI related warnings
  ARM: S3C24XX: Add .get_rate callback for "camif-upll" clock
  ARM: EXYNOS: Fix incorrect help text
  ARM: EXYNOS: Turn off clocks for NAND, OneNAND and TSI controllers
  ARM: OMAP: AM33xx hwmod: fixup SPI after platform_data move
  MAINTAINERS: add an entry for the BCM2835 ARM sub-architecture
  ARM: bcm2835: instantiate console UART
  ARM: bcm2835: add stub clock driver
  ARM: bcm2835: add system timer
  ARM: bcm2835: add interrupt controller driver
  ARM: add infra-structure for BCM2835 and Raspberry Pi
  ARM: tegra20: add CPU hotplug support
  ...

20 files changed:
1  2 
MAINTAINERS
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-exynos/clock-exynos5.c
arch/arm/mach-imx/clk-imx51-imx53.c
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/clkt_dpll.c
arch/arm/mach-omap2/dpll3xxx.c
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-shmobile/board-kzm9g.c
arch/arm/mach-shmobile/setup-sh73a0.c
arch/arm/mach-tegra/Makefile
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mach-ux500/cpu.c
arch/arm/plat-omap/omap_device.c
arch/arm/plat-samsung/clock.c
arch/arm/plat-samsung/devs.c
drivers/clk/Makefile
drivers/clocksource/Makefile

diff --cc MAINTAINERS
Simple merge
index 884768cb5332c661333c9b2797629df9d85ded4d,171f184b089df5e4df845fa7131d48432b26cf76..a97adeccf558af3e5c53bfc28790f55218989c64
@@@ -672,8 -700,10 +689,9 @@@ 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).
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index a13c97b4ba1df0c380b32d8193682f6782ccd599,38ed2ddd32655de26939cb4d6048079ba0ddb63e..db99a4ade80cd46650dfad30a7d068c7a291bb8c
@@@ -757,9 -777,10 +777,10 @@@ static struct platform_device *sh73a0_l
        &i2c4_device,
        &dma0_device,
        &mpdma0_device,
+       &pmu_device,
  };
  
 -#define SRCR2          0xe61580b0
 +#define SRCR2          IOMEM(0xe61580b0)
  
  void __init sh73a0_add_standard_devices(void)
  {
Simple merge
Simple merge
index 8e755638aa76184923ad644a6d5ba4e4aced2de1,4b0a9b3003123e51da736e6421aede1e29eaaf46..2236cbd03cd79c11d897353d33401ddc4a3c962e
@@@ -49,9 -51,7 +49,9 @@@ void __init ux500_init_irq(void
        void __iomem *dist_base;
        void __iomem *cpu_base;
  
-       if (cpu_is_u8500_family()) {
 +      gic_arch_extn.flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND;
 +
+       if (cpu_is_u8500_family() || cpu_is_ux540_family()) {
                dist_base = __io_address(U8500_GIC_DIST_BASE);
                cpu_base = __io_address(U8500_GIC_CPU_BASE);
        } else
Simple merge
index d1116e2dfbeaf57ccd0c2a1aff9ce413d9b57f2a,7938fbce825e3052dc62f3a413e84b7aa0a887b5..012bbd0b8d81063fa7db1547f440b7ca97adca74
@@@ -144,10 -144,9 +144,10 @@@ long clk_round_rate(struct clk *clk, un
  
  int clk_set_rate(struct clk *clk, unsigned long rate)
  {
 +      unsigned long flags;
        int ret;
  
-       if (IS_ERR(clk))
+       if (IS_ERR_OR_NULL(clk))
                return -EINVAL;
  
        /* We do not default just do a clk->rate = rate as
@@@ -174,13 -173,12 +174,13 @@@ struct clk *clk_get_parent(struct clk *
  
  int clk_set_parent(struct clk *clk, struct clk *parent)
  {
 +      unsigned long flags;
        int ret = 0;
  
-       if (IS_ERR(clk))
+       if (IS_ERR_OR_NULL(clk) || IS_ERR_OR_NULL(parent))
                return -EINVAL;
  
 -      spin_lock(&clocks_lock);
 +      spin_lock_irqsave(&clocks_lock, flags);
  
        if (clk->ops && clk->ops->set_parent)
                ret = (clk->ops->set_parent)(clk, parent);
Simple merge
Simple merge
index 65919901a301174b42aa291f6070985906563e21,d496a55f6bb0c3061746559813e6d7dbc015aee7..603be366f762c7a528de14e36ba2043ef9bb1ca1
@@@ -13,4 -13,4 +13,6 @@@ obj-$(CONFIG_DW_APB_TIMER)    += dw_apb_ti
  obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o
  obj-$(CONFIG_CLKSRC_DBX500_PRCMU)     += clksrc-dbx500-prcmu.o
  obj-$(CONFIG_ARMADA_370_XP_TIMER)     += time-armada-370-xp.o
+ obj-$(CONFIG_ARCH_BCM2835)    += bcm2835_timer.o
++
 +obj-$(CONFIG_CLKSRC_ARM_GENERIC)      += arm_generic.o