ARM: clps711x: Switch CLPS711X subarch to use cpuidle driver
authorAlexander Shiyan <shc_work@mail.ru>
Thu, 19 Jun 2014 15:26:35 +0000 (19:26 +0400)
committerOlof Johansson <olof@lixom.net>
Sun, 6 Jul 2014 23:52:15 +0000 (16:52 -0700)
This patch removes old support for cpuidle and switches all current
users to use new cpuidle driver.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/mach-clps711x/board-autcpu12.c
arch/arm/mach-clps711x/board-cdb89712.c
arch/arm/mach-clps711x/board-clep7312.c
arch/arm/mach-clps711x/board-edb7211.c
arch/arm/mach-clps711x/board-p720t.c
arch/arm/mach-clps711x/common.c
arch/arm/mach-clps711x/common.h
arch/arm/mach-clps711x/devices.c

index d62ca16..45abf6b 100644 (file)
@@ -266,7 +266,6 @@ MACHINE_START(AUTCPU12, "autronix autcpu12")
        /* Maintainer: Thomas Gleixner */
        .atag_offset    = 0x20000,
        .map_io         = clps711x_map_io,
-       .init_early     = clps711x_init_early,
        .init_irq       = clps711x_init_irq,
        .init_time      = clps711x_timer_init,
        .init_machine   = autcpu12_init,
index e261a47..1ec378c 100644 (file)
@@ -140,7 +140,6 @@ MACHINE_START(CDB89712, "Cirrus-CDB89712")
        /* Maintainer: Ray Lehtiniemi */
        .atag_offset    = 0x100,
        .map_io         = clps711x_map_io,
-       .init_early     = clps711x_init_early,
        .init_irq       = clps711x_init_irq,
        .init_time      = clps711x_timer_init,
        .init_machine   = cdb89712_init,
index 94a7add..b33ba21 100644 (file)
@@ -37,7 +37,6 @@ MACHINE_START(CLEP7212, "Cirrus Logic 7212/7312")
        .atag_offset    = 0x0100,
        .fixup          = fixup_clep7312,
        .map_io         = clps711x_map_io,
-       .init_early     = clps711x_init_early,
        .init_irq       = clps711x_init_irq,
        .init_time      = clps711x_timer_init,
        .restart        = clps711x_restart,
index f9828f8..7ad94ff 100644 (file)
@@ -178,7 +178,6 @@ MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)")
        .fixup          = fixup_edb7211,
        .reserve        = edb7211_reserve,
        .map_io         = clps711x_map_io,
-       .init_early     = clps711x_init_early,
        .init_irq       = clps711x_init_irq,
        .init_time      = clps711x_timer_init,
        .init_machine   = edb7211_init,
index 0cf0e51..b993767 100644 (file)
@@ -365,7 +365,6 @@ MACHINE_START(P720T, "ARM-Prospector720T")
        .atag_offset    = 0x100,
        .fixup          = fixup_p720t,
        .map_io         = clps711x_map_io,
-       .init_early     = clps711x_init_early,
        .init_irq       = clps711x_init_irq,
        .init_time      = clps711x_timer_init,
        .init_machine   = p720t_init,
index aee81fa..2a6323b 100644 (file)
@@ -193,15 +193,3 @@ void clps711x_restart(enum reboot_mode mode, const char *cmd)
 {
        soft_restart(0);
 }
-
-static void clps711x_idle(void)
-{
-       clps_writel(1, HALT);
-       asm("mov r0, r0");
-       asm("mov r0, r0");
-}
-
-void __init clps711x_init_early(void)
-{
-       arm_pm_idle = clps711x_idle;
-}
index 7489139..f881899 100644 (file)
@@ -13,7 +13,6 @@ extern void clps711x_map_io(void);
 extern void clps711x_init_irq(void);
 extern void clps711x_timer_init(void);
 extern void clps711x_restart(enum reboot_mode mode, const char *cmd);
-extern void clps711x_init_early(void);
 
 /* drivers/irqchip/irq-clps711x.c */
 void clps711x_intc_init(phys_addr_t, resource_size_t);
index 2001488..0c689d3 100644 (file)
 
 #include <mach/hardware.h>
 
+static const struct resource clps711x_cpuidle_res __initconst =
+       DEFINE_RES_MEM(CLPS711X_PHYS_BASE + HALT, SZ_128);
+
+static void __init clps711x_add_cpuidle(void)
+{
+       platform_device_register_simple("clps711x-cpuidle", PLATFORM_DEVID_NONE,
+                                       &clps711x_cpuidle_res, 1);
+}
+
 static const phys_addr_t clps711x_gpios[][2] __initconst = {
        { PADR, PADDR },
        { PBDR, PBDDR },
@@ -83,6 +92,7 @@ static void __init clps711x_add_uart(void)
 
 void __init clps711x_devices_init(void)
 {
+       clps711x_add_cpuidle();
        clps711x_add_gpio();
        clps711x_add_syscon();
        clps711x_add_uart();