From: Linus Torvalds Date: Thu, 2 May 2013 16:03:55 +0000 (-0700) Subject: Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm... X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=a7726350e06401929eac0aa0677a5467106565fc;p=~shefty%2Frdma-dev.git Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanup from Olof Johansson: "Here is a collection of cleanup patches. Among the pieces that stand out are: - The deletion of h720x platforms - Split of at91 non-dt platforms to their own Kconfig file to keep them separate - General cleanups and refactoring of i.MX and MXS platforms - Some restructuring of clock tables for OMAP - Convertion of PMC driver for Tegra to dt-only - Some renames of sunxi -> sun4i (Allwinner A10) - ... plus a bunch of other stuff that I haven't mentioned" * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (119 commits) ARM: i.MX: remove unused ARCH_* configs ARM i.MX53: remove platform ahci support ARM: sunxi: Rework the restart code irqchip: sunxi: Rename sunxi to sun4i irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro clocksource: sunxi: Rename sunxi to sun4i clocksource: sunxi: make use of CLKSRC_OF clocksource: sunxi: Cleanup the timer code ARM: at91: remove trailing semicolon from macros ARM: at91/setup: fix trivial typos ARM: EXYNOS: remove "config EXYNOS_DEV_DRM" ARM: EXYNOS: change the name of USB ohci header ARM: SAMSUNG: Remove unnecessary code for dma ARM: S3C24XX: Remove unused GPIO drive strength register definitions ARM: OMAP4+: PM: Restore CPU power state to ON with clockdomain force wakeup method ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2412 ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2410 ARM: S3C24XX: Removed unneeded dependency on ARCH_S3C24XX for boards ARM: SAMSUNG: Fix typo "CONFIG_SAMSUNG_DEV_RTC" ARM: S5P64X0: Fix typo "CONFIG_S5P64X0_SETUP_SDHCI" ... --- a7726350e06401929eac0aa0677a5467106565fc diff --cc arch/arm/Kconfig index 006f9838dd4,32e215fd91e..7af7d136894 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@@ -2163,15 -2153,33 +2156,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 -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 i.MX CPUs. - This enables the CPUfreq driver for ARM Integrator CPUs. - - For details, take a look at . - - 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 diff --cc arch/arm/mach-imx/Makefile index cb70961b623,23555b0c08a..fbe60a14534 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@@ -27,10 -27,9 +27,9 @@@ obj-$(CONFIG_IRAM_ALLOC) += iram_alloc. obj-$(CONFIG_MXC_ULPI) += ulpi.o obj-$(CONFIG_MXC_USE_EPIT) += epit.o obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o - obj-$(CONFIG_CPU_FREQ_IMX) += cpufreq.o ifeq ($(CONFIG_CPU_IDLE),y) -obj-y += cpuidle.o +obj-$(CONFIG_SOC_IMX5) += cpuidle-imx5.o obj-$(CONFIG_SOC_IMX6Q) += cpuidle-imx6q.o endif diff --cc arch/arm/mach-imx/avic.c index 9c3e014705b,49c87e7aa81..e163ec7a844 --- a/arch/arm/mach-imx/avic.c +++ b/arch/arm/mach-imx/avic.c @@@ -51,11 -51,9 +51,9 @@@ #define AVIC_NUM_IRQS 64 -void __iomem *avic_base; +static void __iomem *avic_base; static struct irq_domain *domain; - static u32 avic_saved_mask_reg[2]; - #ifdef CONFIG_MXC_IRQ_PRIOR static int avic_irq_set_priority(unsigned char irq, unsigned char prio) { diff --cc arch/arm/mach-omap2/cpuidle44xx.c index 5a286b56205,9de47a70628..c443f2e97e1 --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c @@@ -82,10 -78,9 +79,8 @@@ static int omap_enter_idle_coupled(stru struct cpuidle_driver *drv, int index) { - struct omap4_idle_statedata *cx = &omap4_idle_data[index]; - int cpu_id = smp_processor_id(); + struct idle_statedata *cx = state_ptr + index; - local_fiq_disable(); - /* * CPU0 has to wait and stay ON until CPU1 is OFF state. * This is necessary to honour hardware recommondation diff --cc arch/arm/mach-tegra/Makefile index 09b578f9eb8,92703f955a3..c1970005f80 --- a/arch/arm/mach-tegra/Makefile +++ b/arch/arm/mach-tegra/Makefile @@@ -24,11 -25,9 +25,8 @@@ obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += cpu endif obj-$(CONFIG_SMP) += platsmp.o headsmp.o obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o -obj-$(CONFIG_CPU_FREQ) += cpu-tegra.o obj-$(CONFIG_TEGRA_PCI) += pcie.o - obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += board-dt-tegra20.o - obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += board-dt-tegra30.o - obj-$(CONFIG_ARCH_TEGRA_114_SOC) += board-dt-tegra114.o ifeq ($(CONFIG_CPU_IDLE),y) obj-$(CONFIG_ARCH_TEGRA_114_SOC) += cpuidle-tegra114.o endif diff --cc arch/arm/mach-tegra/pm.c index 04a8e06f59a,acacbe8d1af..891fb70d0aa --- a/arch/arm/mach-tegra/pm.c +++ b/arch/arm/mach-tegra/pm.c @@@ -162,19 -162,9 +162,14 @@@ bool tegra_set_cpu_in_lp2(int phy_cpu_i return last_cpu; } +int tegra_cpu_do_idle(void) +{ + return cpu_do_idle(); +} + static int tegra_sleep_cpu(unsigned long v2p) { - /* Switch to the identity mapping. */ - cpu_switch_mm(idmap_pgd, &init_mm); - - /* Flush the TLB. */ - local_flush_tlb_all(); - + setup_mm_for_reboot(); tegra_sleep_cpu_finish(v2p); /* should never here */ diff --cc arch/arm/mach-vexpress/v2m.c index eb2b3a627f0,d0ad78998cb..9366f37902d --- a/arch/arm/mach-vexpress/v2m.c +++ b/arch/arm/mach-vexpress/v2m.c @@@ -432,8 -433,9 +432,9 @@@ static void __init v2m_dt_timer_init(vo { struct device_node *node = NULL; - vexpress_clk_of_init(); + of_clk_init(NULL); + clocksource_of_init(); do { node = of_find_compatible_node(node, NULL, "arm,sp804"); } while (node && vexpress_get_site_by_node(node) != VEXPRESS_SITE_MB); diff --cc drivers/clocksource/Makefile index 96e25319659,98f220a7a92..4897f243a00 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile @@@ -16,10 -16,10 +16,11 @@@ obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nom 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_SUNXI_TIMER) += sunxi_timer.o + obj-$(CONFIG_ARCH_MXS) += mxs_timer.o + obj-$(CONFIG_SUN4I_TIMER) += sun4i_timer.o obj-$(CONFIG_ARCH_TEGRA) += tegra20_timer.o obj-$(CONFIG_VT8500_TIMER) += vt8500_timer.o +obj-$(CONFIG_ARCH_BCM) += bcm_kona_timer.o obj-$(CONFIG_ARM_ARCH_TIMER) += arm_arch_timer.o obj-$(CONFIG_CLKSRC_METAG_GENERIC) += metag_generic.o diff --cc drivers/gpio/gpio-pl061.c index d7008dfdd6f,29763361d13..6a4bd0dae0c --- a/drivers/gpio/gpio-pl061.c +++ b/drivers/gpio/gpio-pl061.c @@@ -15,7 -15,7 +15,8 @@@ #include #include #include +#include + #include #include #include #include @@@ -23,9 -23,7 +24,8 @@@ #include #include #include +#include #include - #include #define GPIODIR 0x400 #define GPIOIS 0x404 diff --cc drivers/pinctrl/pinctrl-exynos.c index 8b10b1ac907,7265e551ddd..ec1567842a7 --- a/drivers/pinctrl/pinctrl-exynos.c +++ b/drivers/pinctrl/pinctrl-exynos.c @@@ -26,11 -27,8 +27,9 @@@ #include #include #include +#include #include - #include - #include "pinctrl-samsung.h" #include "pinctrl-exynos.h" diff --cc drivers/rtc/rtc-stmp3xxx.c index a9cd26a26dc,67d26128bc8..483ce086990 --- a/drivers/rtc/rtc-stmp3xxx.c +++ b/drivers/rtc/rtc-stmp3xxx.c @@@ -303,11 -313,11 +301,11 @@@ static int stmp3xxx_rtc_suspend(struct return 0; } -static int stmp3xxx_rtc_resume(struct platform_device *dev) +static int stmp3xxx_rtc_resume(struct device *dev) { - struct stmp3xxx_rtc_data *rtc_data = platform_get_drvdata(dev); + struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev); - mxs_reset_block(rtc_data->io); + stmp_reset_block(rtc_data->io); writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN | STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE,