From: Olof Johansson Date: Mon, 1 Oct 2012 21:19:17 +0000 (-0700) Subject: Merge branch 'next/soc' into HEAD X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=6d55d5968a8622f3ea20ec40737aea1cfba6438c;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git Merge branch 'next/soc' into HEAD Conflicts: arch/arm/mach-ux500/clock.c arch/arm/mach-ux500/cpu.c drivers/clocksource/Makefile --- 6d55d5968a8622f3ea20ec40737aea1cfba6438c diff --cc arch/arm/Kconfig index 884768cb5332,171f184b089d..a97adeccf558 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@@ -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). diff --cc arch/arm/mach-shmobile/setup-sh73a0.c index a13c97b4ba1d,38ed2ddd3265..db99a4ade80c --- a/arch/arm/mach-shmobile/setup-sh73a0.c +++ b/arch/arm/mach-shmobile/setup-sh73a0.c @@@ -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) { diff --cc arch/arm/mach-ux500/cpu.c index 8e755638aa76,4b0a9b300312..2236cbd03cd7 --- a/arch/arm/mach-ux500/cpu.c +++ b/arch/arm/mach-ux500/cpu.c @@@ -49,9 -51,7 +49,9 @@@ void __init ux500_init_irq(void void __iomem *dist_base; void __iomem *cpu_base; + gic_arch_extn.flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND; + - if (cpu_is_u8500_family()) { + 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 diff --cc arch/arm/plat-samsung/clock.c index d1116e2dfbea,7938fbce825e..012bbd0b8d81 --- a/arch/arm/plat-samsung/clock.c +++ b/arch/arm/plat-samsung/clock.c @@@ -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); diff --cc drivers/clocksource/Makefile index 65919901a301,d496a55f6bb0..cccde85e2d6c --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile @@@ -13,4 -13,4 +13,5 @@@ 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_CLKSRC_ARM_GENERIC) += arm_generic.o + obj-$(CONFIG_ARCH_BCM2835) += bcm2835_timer.o