diff options
-rw-r--r-- | arch/arm/mach-shmobile/board-armadillo800eva.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/pm-r8a7740.c | 22 |
3 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index e7912447ad50..65731370da81 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
@@ -1181,6 +1181,8 @@ static void __init eva_init(void) | |||
1181 | rmobile_add_device_to_domain("A4LC", &hdmi_lcdc_device); | 1181 | rmobile_add_device_to_domain("A4LC", &hdmi_lcdc_device); |
1182 | if (usb) | 1182 | if (usb) |
1183 | rmobile_add_device_to_domain("A3SP", usb); | 1183 | rmobile_add_device_to_domain("A3SP", usb); |
1184 | |||
1185 | r8a7740_pm_init(); | ||
1184 | } | 1186 | } |
1185 | 1187 | ||
1186 | static void __init eva_earlytimer_init(void) | 1188 | static void __init eva_earlytimer_init(void) |
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index f221c116e968..c0ab595bc18f 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h | |||
@@ -52,6 +52,7 @@ extern void r8a7740_add_early_devices(void); | |||
52 | extern void r8a7740_add_standard_devices(void); | 52 | extern void r8a7740_add_standard_devices(void); |
53 | extern void r8a7740_clock_init(u8 md_ck); | 53 | extern void r8a7740_clock_init(u8 md_ck); |
54 | extern void r8a7740_pinmux_init(void); | 54 | extern void r8a7740_pinmux_init(void); |
55 | extern void r8a7740_pm_init(void); | ||
55 | 56 | ||
56 | extern void r8a7779_init_irq(void); | 57 | extern void r8a7779_init_irq(void); |
57 | extern void r8a7779_map_io(void); | 58 | extern void r8a7779_map_io(void); |
diff --git a/arch/arm/mach-shmobile/pm-r8a7740.c b/arch/arm/mach-shmobile/pm-r8a7740.c index 21e5316d2d88..40b87aa1d448 100644 --- a/arch/arm/mach-shmobile/pm-r8a7740.c +++ b/arch/arm/mach-shmobile/pm-r8a7740.c | |||
@@ -9,7 +9,9 @@ | |||
9 | * for more details. | 9 | * for more details. |
10 | */ | 10 | */ |
11 | #include <linux/console.h> | 11 | #include <linux/console.h> |
12 | #include <linux/suspend.h> | ||
12 | #include <mach/pm-rmobile.h> | 13 | #include <mach/pm-rmobile.h> |
14 | #include <mach/common.h> | ||
13 | 15 | ||
14 | #ifdef CONFIG_PM | 16 | #ifdef CONFIG_PM |
15 | static int r8a7740_pd_a4s_suspend(void) | 17 | static int r8a7740_pd_a4s_suspend(void) |
@@ -58,3 +60,23 @@ void __init r8a7740_init_pm_domains(void) | |||
58 | } | 60 | } |
59 | 61 | ||
60 | #endif /* CONFIG_PM */ | 62 | #endif /* CONFIG_PM */ |
63 | |||
64 | #ifdef CONFIG_SUSPEND | ||
65 | static int r8a7740_enter_suspend(suspend_state_t suspend_state) | ||
66 | { | ||
67 | cpu_do_idle(); | ||
68 | return 0; | ||
69 | } | ||
70 | |||
71 | static void r8a7740_suspend_init(void) | ||
72 | { | ||
73 | shmobile_suspend_ops.enter = r8a7740_enter_suspend; | ||
74 | } | ||
75 | #else | ||
76 | static void r8a7740_suspend_init(void) {} | ||
77 | #endif | ||
78 | |||
79 | void __init r8a7740_pm_init(void) | ||
80 | { | ||
81 | r8a7740_suspend_init(); | ||
82 | } | ||