diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-shmobile/pm-sh7372.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/arch/arm/mach-shmobile/pm-sh7372.c b/arch/arm/mach-shmobile/pm-sh7372.c index 1ec35ebe2376..f15f07e15856 100644 --- a/arch/arm/mach-shmobile/pm-sh7372.c +++ b/arch/arm/mach-shmobile/pm-sh7372.c | |||
@@ -232,11 +232,23 @@ struct sh7372_pm_domain sh7372_a3sp = { | |||
232 | .no_debug = true, | 232 | .no_debug = true, |
233 | }; | 233 | }; |
234 | 234 | ||
235 | static void sh7372_a3sp_init(void) | ||
236 | { | ||
237 | /* serial consoles make use of SCIF hardware located in A3SP, | ||
238 | * keep such power domain on if "no_console_suspend" is set. | ||
239 | */ | ||
240 | sh7372_a3sp.stay_on = !console_suspend_enabled; | ||
241 | } | ||
242 | |||
235 | struct sh7372_pm_domain sh7372_a3sg = { | 243 | struct sh7372_pm_domain sh7372_a3sg = { |
236 | .bit_shift = 13, | 244 | .bit_shift = 13, |
237 | }; | 245 | }; |
238 | 246 | ||
239 | #endif /* CONFIG_PM */ | 247 | #else /* !CONFIG_PM */ |
248 | |||
249 | static inline void sh7372_a3sp_init(void) {} | ||
250 | |||
251 | #endif /* !CONFIG_PM */ | ||
240 | 252 | ||
241 | #if defined(CONFIG_SUSPEND) || defined(CONFIG_CPU_IDLE) | 253 | #if defined(CONFIG_SUSPEND) || defined(CONFIG_CPU_IDLE) |
242 | static int sh7372_do_idle_core_standby(unsigned long unused) | 254 | static int sh7372_do_idle_core_standby(unsigned long unused) |
@@ -474,10 +486,7 @@ void __init sh7372_pm_init(void) | |||
474 | /* do not convert A3SM, A3SP, A3SG, A4R power down into A4S */ | 486 | /* do not convert A3SM, A3SP, A3SG, A4R power down into A4S */ |
475 | __raw_writel(0, PDNSEL); | 487 | __raw_writel(0, PDNSEL); |
476 | 488 | ||
477 | /* serial consoles make use of SCIF hardware located in A3SP, | 489 | sh7372_a3sp_init(); |
478 | * keep such power domain on if "no_console_suspend" is set. | ||
479 | */ | ||
480 | sh7372_a3sp.stay_on = !console_suspend_enabled; | ||
481 | 490 | ||
482 | sh7372_suspend_init(); | 491 | sh7372_suspend_init(); |
483 | sh7372_cpuidle_init(); | 492 | sh7372_cpuidle_init(); |