config REDBOOT
        bool
 
-config PPC64_SWSUSP
+config HIBERNATE_32
        bool
-       depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
+       depends on (PPC_PMAC && !SMP) || BROKEN
+       default y
+
+config HIBERNATE_64
+       bool
+       depends on BROKEN || (PPC_PMAC64 && EXPERIMENTAL)
+       default y
+
+config ARCH_HIBERNATION_POSSIBLE
+       bool
+       depends on (PPC64 && HIBERNATE_64) || (PPC32 && HIBERNATE_32)
        default y
 
 config PPC_DCR_NATIVE
 
 
 config PM_SLEEP_SMP
        bool
-       depends on SUSPEND_SMP_POSSIBLE || HIBERNATION_SMP_POSSIBLE
+       depends on SMP
+       depends on SUSPEND_SMP_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
        depends on PM_SLEEP
        select HOTPLUG_CPU
        default y
          powered and thus its contents are preserved, such as the
          suspend-to-RAM state (i.e. the ACPI S3 state).
 
-config HIBERNATION_UP_POSSIBLE
-       bool
-       depends on X86 || PPC64_SWSUSP || PPC32
-       depends on !SMP
-       default y
-
-config HIBERNATION_SMP_POSSIBLE
-       bool
-       depends on (X86 && !X86_VOYAGER) || PPC64_SWSUSP
-       depends on SMP
-       default y
-
 config HIBERNATION
        bool "Hibernation (aka 'suspend to disk')"
-       depends on PM && SWAP
-       depends on HIBERNATION_UP_POSSIBLE || HIBERNATION_SMP_POSSIBLE
+       depends on PM && SWAP && ARCH_HIBERNATION_POSSIBLE
        ---help---
          Enable the suspend to disk (STD) functionality, which is usually
          called "hibernation" in user interfaces.  STD checkpoints the