|
@@ -439,76 +439,11 @@ static void __init find_boot_device(void)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-/* TODO: Merge the suspend-to-ram with the common code !!!
|
|
|
- * currently, this is a stub implementation for suspend-to-disk
|
|
|
- * only
|
|
|
- */
|
|
|
-
|
|
|
-#ifdef CONFIG_SOFTWARE_SUSPEND
|
|
|
-
|
|
|
-static int pmac_pm_prepare(suspend_state_t state)
|
|
|
-{
|
|
|
- printk(KERN_DEBUG "%s(%d)\n", __FUNCTION__, state);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-static int pmac_pm_enter(suspend_state_t state)
|
|
|
-{
|
|
|
- printk(KERN_DEBUG "%s(%d)\n", __FUNCTION__, state);
|
|
|
-
|
|
|
- /* Giveup the lazy FPU & vec so we don't have to back them
|
|
|
- * up from the low level code
|
|
|
- */
|
|
|
- enable_kernel_fp();
|
|
|
-
|
|
|
-#ifdef CONFIG_ALTIVEC
|
|
|
- if (cur_cpu_spec->cpu_features & CPU_FTR_ALTIVEC)
|
|
|
- enable_kernel_altivec();
|
|
|
-#endif /* CONFIG_ALTIVEC */
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-static int pmac_pm_finish(suspend_state_t state)
|
|
|
-{
|
|
|
- printk(KERN_DEBUG "%s(%d)\n", __FUNCTION__, state);
|
|
|
-
|
|
|
- /* Restore userland MMU context */
|
|
|
- set_context(current->active_mm->context.id, current->active_mm->pgd);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-static int pmac_pm_valid(suspend_state_t state)
|
|
|
-{
|
|
|
- switch (state) {
|
|
|
- case PM_SUSPEND_DISK:
|
|
|
- return 1;
|
|
|
- /* can't do any other states via generic mechanism yet */
|
|
|
- default:
|
|
|
- return 0;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-static struct pm_ops pmac_pm_ops = {
|
|
|
- .pm_disk_mode = PM_DISK_SHUTDOWN,
|
|
|
- .prepare = pmac_pm_prepare,
|
|
|
- .enter = pmac_pm_enter,
|
|
|
- .finish = pmac_pm_finish,
|
|
|
- .valid = pmac_pm_valid,
|
|
|
-};
|
|
|
-
|
|
|
-#endif /* CONFIG_SOFTWARE_SUSPEND */
|
|
|
-
|
|
|
static int initializing = 1;
|
|
|
|
|
|
static int pmac_late_init(void)
|
|
|
{
|
|
|
initializing = 0;
|
|
|
-#ifdef CONFIG_SOFTWARE_SUSPEND
|
|
|
- pm_set_ops(&pmac_pm_ops);
|
|
|
-#endif /* CONFIG_SOFTWARE_SUSPEND */
|
|
|
return 0;
|
|
|
}
|
|
|
|