#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>
        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();
 
  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)
 
  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