Merge tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 24 Jul 2012 00:43:53 +0000 (17:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 24 Jul 2012 00:43:53 +0000 (17:43 -0700)
Pull arm-soc power management changes from Arnd Bergmann:
 "These are various power management related changes, mainly concerning
  cpuidle on i.MX and OMAP, as well as a the move of the omap
  smartreflex driver to live in the power subsystem."

Fix up conflicts in arch/arm/mach-{imx/mach-imx6q.c,omap2/prm2xxx_3xxx.h}

* tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
  ARM: OMAP2+: PM: fix IRQ_NOAUTOEN removal by mis-merge
  ARM: OMAP2+: do not allow SmartReflex to be built as a module
  ARM: OMAP2: Use hwmod to initialize mmc for 2420
  ARM: OMAP3: PM: cpuidle: optimize the clkdm idle latency in C1 state
  ARM: OMAP3: PM: cpuidle: optimize the PER latency in C1 state
  ARM: OMAP3: PM: cpuidle: default to C1 in next_valid_state
  ARM: OMAP3: PM: cleanup cam_pwrdm leftovers
  ARM: OMAP3: PM: call pre/post transition per powerdomain
  ARM: OMAP2+: powerdomain: allow pre/post transtion to be per pwrdm
  ARM: OMAP3: PM: Remove IO Daisychain control from cpuidle
  ARM: OMAP3PLUS: hwmod: reconfigure IO Daisychain during hwmod mux
  ARM: OMAP3+: PRM: Enable IO wake up
  ARM: OMAP4: PRM: Add IO Daisychain support
  ARM: OMAP3: PM: Move IO Daisychain function to omap3 prm file
  ARM: OMAP3: PM: correct enable/disable of daisy io chain
  ARM: OMAP2+: PRM: fix compile for OMAP4-only build
  W1: OMAP HDQ1W: use runtime PM
  ARM: OMAP2+: HDQ1W: use omap_device
  W1: OMAP HDQ1W: use 32-bit register accesses
  W1: OMAP HDQ1W: allow driver to be built on all OMAP2+
  ...

23 files changed:
1  2 
arch/arm/mach-imx/imx53-dt.c
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-imx/mach-mx53_ard.c
arch/arm/mach-imx/mach-mx53_evk.c
arch/arm/mach-imx/mach-mx53_loco.c
arch/arm/mach-imx/mach-mx53_smd.c
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/cpuidle34xx.c
arch/arm/mach-omap2/devices.c
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
arch/arm/mach-omap2/pm.h
arch/arm/mach-omap2/pm34xx.c
arch/arm/mach-omap2/powerdomain.c
arch/arm/mach-omap2/powerdomain.h
arch/arm/mach-omap2/prcm-common.h
arch/arm/mach-omap2/prm2xxx_3xxx.h
arch/arm/mach-omap2/voltage.h
arch/arm/plat-mxc/include/mach/common.h
arch/arm/plat-mxc/include/mach/hardware.h
arch/arm/plat-mxc/tzic.c
arch/arm/plat-omap/Kconfig

Simple merge
@@@ -23,7 -26,7 +25,8 @@@
  #include <linux/pinctrl/machine.h>
  #include <linux/phy.h>
  #include <linux/micrel_phy.h>
 +#include <linux/mfd/anatop.h>
+ #include <asm/cpuidle.h>
  #include <asm/smp_twd.h>
  #include <asm/hardware/cache-l2x0.h>
  #include <asm/hardware/gic.h>
@@@ -166,9 -132,21 +171,22 @@@ static void __init imx6q_init_machine(v
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
  
        imx6q_pm_init();
 +      imx6q_usb_init();
  }
  
+ static struct cpuidle_driver imx6q_cpuidle_driver = {
+       .name                   = "imx6q_cpuidle",
+       .owner                  = THIS_MODULE,
+       .en_core_tk_irqen       = 1,
+       .states[0]              = ARM_CPUIDLE_WFI_STATE,
+       .state_count            = 1,
+ };
+ static void __init imx6q_init_late(void)
+ {
+       imx_cpuidle_init(&imx6q_cpuidle_driver);
+ }
  static void __init imx6q_map_io(void)
  {
        imx_lluart_map_io();
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -71,11 -66,13 +71,12 @@@ ifeq ($(CONFIG_PM),y
  obj-$(CONFIG_ARCH_OMAP2)              += pm24xx.o
  obj-$(CONFIG_ARCH_OMAP2)              += sleep24xx.o
  obj-$(CONFIG_ARCH_OMAP3)              += pm34xx.o sleep34xx.o
 -obj-$(CONFIG_ARCH_OMAP3)              += cpuidle34xx.o
  obj-$(CONFIG_ARCH_OMAP4)              += pm44xx.o omap-mpuss-lowpower.o
 -obj-$(CONFIG_ARCH_OMAP4)              += cpuidle44xx.o
 +obj-$(CONFIG_SOC_OMAP5)                       += omap-mpuss-lowpower.o
  obj-$(CONFIG_PM_DEBUG)                        += pm-debug.o
- obj-$(CONFIG_OMAP_SMARTREFLEX)          += sr_device.o smartreflex.o
- obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
+ obj-$(CONFIG_POWER_AVS_OMAP)          += sr_device.o
+ obj-$(CONFIG_POWER_AVS_OMAP_CLASS3)    += smartreflex-class3.o
  
  AFLAGS_sleep24xx.o                    :=-Wa,-march=armv6
  AFLAGS_sleep34xx.o                    :=-Wa,-march=armv7-a$(plus_sec)
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -258,7 -324,8 +260,8 @@@ extern void omap3xxx_prm_read_pending_i
  extern void omap3xxx_prm_ocp_barrier(void);
  extern void omap3xxx_prm_save_and_clear_irqen(u32 *saved_mask);
  extern void omap3xxx_prm_restore_irqen(u32 *saved_mask);
- #endif
 -#endif
++#endif /* __ASSEMBLER */
  
  /*
   * Bits common to specific registers
Simple merge
Simple merge
Simple merge