Merge tag 'drivers_for_v3.9' of git://git.infradead.org/users/jcooper/linux into...
authorOlof Johansson <olof@lixom.net>
Tue, 5 Feb 2013 06:56:53 +0000 (22:56 -0800)
committerOlof Johansson <olof@lixom.net>
Tue, 5 Feb 2013 06:56:53 +0000 (22:56 -0800)
From Jason Cooper:
mvebu drivers for v3.9
 - use rtc-mv in mvebu armv7 SoCs
 - add pci-e hotplug for kirkwood

Depends on:
 - tags/mvebu_fixes_for_v3.8-rc6

* tag 'drivers_for_v3.9' of git://git.infradead.org/users/jcooper/linux:
  cpuidle: kirkwood: Move out of mach directory
  rtc: Add support of rtc-mv for MVEBU SoCs
  ARM: Kirkwood: Support basic hotplug for PCI-E
  arm: mvebu: i2c come back in defconfig
  arm: plat-orion: fix printing of "MPP config unavailable on this hardware"
  Dove: activate GPIO interrupts in DT

1  2 
arch/arm/mach-kirkwood/board-dt.c
arch/arm/mach-kirkwood/common.c
arch/arm/mach-kirkwood/common.h

index d4af5c191c24e49fd5f4d8bf092dc61230a898ae,f964cdc44b1a5d6b2d4037f20b2fb7af8c009c85..95cc04d14b659ac6836e0279058a28ef14a3f33d
@@@ -98,6 -98,8 +98,8 @@@ static void __init kirkwood_dt_init(voi
        /* Setup root of clk tree */
        kirkwood_of_clk_init();
  
+       kirkwood_cpuidle_init();
  #ifdef CONFIG_KEXEC
        kexec_reinit = kirkwood_enable_pcie;
  #endif
@@@ -183,7 -185,7 +185,7 @@@ DT_MACHINE_START(KIRKWOOD_DT, "Marvell 
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = orion_dt_init_irq,
 -      .timer          = &kirkwood_timer,
 +      .init_time      = kirkwood_timer_init,
        .init_machine   = kirkwood_dt_init,
        .restart        = kirkwood_restart,
        .dt_compat      = kirkwood_dt_board_compat,
index b5ad4dff6b12d1f95094591fe4202430d9f35edb,5ed1f2e8c5f88e76aaf88352d4656dc2ee5ae25d..49792a0cd2d3d17f399ea96ee8f5369f49c3bb99
@@@ -499,6 -499,28 +499,28 @@@ void __init kirkwood_wdt_init(void
        orion_wdt_init();
  }
  
+ /*****************************************************************************
+  * CPU idle
+  ****************************************************************************/
+ static struct resource kirkwood_cpuidle_resource[] = {
+       {
+               .flags  = IORESOURCE_MEM,
+               .start  = DDR_OPERATION_BASE,
+               .end    = DDR_OPERATION_BASE + 3,
+       },
+ };
+ static struct platform_device kirkwood_cpuidle = {
+       .name           = "kirkwood_cpuidle",
+       .id             = -1,
+       .resource       = kirkwood_cpuidle_resource,
+       .num_resources  = 1,
+ };
+ void __init kirkwood_cpuidle_init(void)
+ {
+       platform_device_register(&kirkwood_cpuidle);
+ }
  
  /*****************************************************************************
   * Time handling
@@@ -530,7 -552,7 +552,7 @@@ static int __init kirkwood_find_tclk(vo
        return 166666667;
  }
  
 -static void __init kirkwood_timer_init(void)
 +void __init kirkwood_timer_init(void)
  {
        kirkwood_tclk = kirkwood_find_tclk();
  
                        IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk);
  }
  
 -struct sys_timer kirkwood_timer = {
 -      .init = kirkwood_timer_init,
 -};
 -
  /*****************************************************************************
   * Audio
   ****************************************************************************/
@@@ -667,6 -693,7 +689,7 @@@ void __init kirkwood_init(void
        kirkwood_xor1_init();
        kirkwood_crypto_init();
  
+       kirkwood_cpuidle_init();
  #ifdef CONFIG_KEXEC
        kexec_reinit = kirkwood_enable_pcie;
  #endif
index 283ab611e8da1344d1372180e7ed8b2a1e8dc014,320aa61ff505b71f5852a4b919bce2fc1ad4d442..e956d0277dd186a7145e6c8badc108ba1f504f44
@@@ -50,6 -50,7 +50,7 @@@ void kirkwood_nand_init(struct mtd_part
  void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts,
                            int (*dev_ready)(struct mtd_info *));
  void kirkwood_audio_init(void);
+ void kirkwood_cpuidle_init(void);
  void kirkwood_restart(char, const char *);
  void kirkwood_clk_init(void);
  
@@@ -156,7 -157,7 +157,7 @@@ void kirkwood_xor1_init(void)
  void kirkwood_crypto_init(void);
  
  extern int kirkwood_tclk;
 -extern struct sys_timer kirkwood_timer;
 +extern void kirkwood_timer_init(void);
  
  #define ARRAY_AND_SIZE(x)     (x), ARRAY_SIZE(x)