Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | config PM |
| 2 | bool "Power Management support" |
Len Brown | eb7b6b3 | 2005-08-25 12:08:25 -0400 | [diff] [blame] | 3 | depends on !IA64_HP_SIM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | ---help--- |
| 5 | "Power Management" means that parts of your computer are shut |
| 6 | off or put into a power conserving "sleep" mode if they are not |
| 7 | being used. There are two competing standards for doing this: APM |
| 8 | and ACPI. If you want to use either one, say Y here and then also |
| 9 | to the requisite support below. |
| 10 | |
| 11 | Power Management is most important for battery powered laptop |
| 12 | computers; if you have a laptop, check out the Linux Laptop home |
| 13 | page on the WWW at <http://www.linux-on-laptops.com/> or |
| 14 | Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/> |
| 15 | and the Battery Powered Linux mini-HOWTO, available from |
| 16 | <http://www.tldp.org/docs.html#howto>. |
| 17 | |
| 18 | Note that, even if you say N here, Linux on the x86 architecture |
| 19 | will issue the hlt instruction if nothing is to be done, thereby |
| 20 | sending the processor to sleep and saving power. |
| 21 | |
Jeff Garzik | bca73e4 | 2005-11-13 16:06:25 -0800 | [diff] [blame] | 22 | config PM_LEGACY |
David Brownell | f89bce3 | 2006-12-05 03:07:38 -0800 | [diff] [blame] | 23 | bool "Legacy Power Management API (DEPRECATED)" |
Jeff Garzik | bca73e4 | 2005-11-13 16:06:25 -0800 | [diff] [blame] | 24 | depends on PM |
David Brownell | f89bce3 | 2006-12-05 03:07:38 -0800 | [diff] [blame] | 25 | default n |
Jeff Garzik | bca73e4 | 2005-11-13 16:06:25 -0800 | [diff] [blame] | 26 | ---help--- |
David Brownell | f89bce3 | 2006-12-05 03:07:38 -0800 | [diff] [blame] | 27 | Support for pm_register() and friends. This old API is obsoleted |
| 28 | by the driver model. |
Jeff Garzik | bca73e4 | 2005-11-13 16:06:25 -0800 | [diff] [blame] | 29 | |
David Brownell | f89bce3 | 2006-12-05 03:07:38 -0800 | [diff] [blame] | 30 | If unsure, say N. |
Jeff Garzik | bca73e4 | 2005-11-13 16:06:25 -0800 | [diff] [blame] | 31 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | config PM_DEBUG |
| 33 | bool "Power Management Debug Support" |
| 34 | depends on PM |
| 35 | ---help--- |
| 36 | This option enables verbose debugging support in the Power Management |
| 37 | code. This is helpful when debugging and reporting various PM bugs, |
| 38 | like suspend support. |
| 39 | |
Rafael J. Wysocki | c8eb8b4 | 2006-09-25 23:32:56 -0700 | [diff] [blame] | 40 | config DISABLE_CONSOLE_SUSPEND |
| 41 | bool "Keep console(s) enabled during suspend/resume (DANGEROUS)" |
| 42 | depends on PM && PM_DEBUG |
| 43 | default n |
| 44 | ---help--- |
| 45 | This option turns off the console suspend mechanism that prevents |
| 46 | debug messages from reaching the console during the suspend/resume |
| 47 | operations. This may be helpful when debugging device drivers' |
| 48 | suspend/resume routines, but may itself lead to problems, for example |
| 49 | if netconsole is used. |
| 50 | |
Linus Torvalds | eb71c87 | 2006-06-24 14:27:42 -0700 | [diff] [blame] | 51 | config PM_TRACE |
| 52 | bool "Suspend/resume event tracing" |
Andrew Morton | 5c31f27 | 2006-06-27 02:53:26 -0700 | [diff] [blame] | 53 | depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL |
| 54 | default n |
Linus Torvalds | eb71c87 | 2006-06-24 14:27:42 -0700 | [diff] [blame] | 55 | ---help--- |
| 56 | This enables some cheesy code to save the last PM event point in the |
| 57 | RTC across reboots, so that you can debug a machine that just hangs |
| 58 | during suspend (or more commonly, during resume). |
| 59 | |
Andrew Morton | 5c31f27 | 2006-06-27 02:53:26 -0700 | [diff] [blame] | 60 | To use this debugging feature you should attempt to suspend the machine, |
| 61 | then reboot it, then run |
| 62 | |
| 63 | dmesg -s 1000000 | grep 'hash matches' |
| 64 | |
| 65 | CAUTION: this option will cause your machine's real-time clock to be |
| 66 | set to an invalid time after a resume. |
| 67 | |
David Brownell | 2bca293 | 2006-08-30 13:54:36 -0700 | [diff] [blame] | 68 | config PM_SYSFS_DEPRECATED |
| 69 | bool "Driver model /sys/devices/.../power/state files (DEPRECATED)" |
| 70 | depends on PM && SYSFS |
| 71 | default n |
| 72 | help |
| 73 | The driver model started out with a sysfs file intended to provide |
| 74 | a userspace hook for device power management. This feature has never |
| 75 | worked very well, except for limited testing purposes, and so it will |
| 76 | be removed. It's not clear that a generic mechanism could really |
| 77 | handle the wide variability of device power states; any replacements |
| 78 | are likely to be bus or driver specific. |
Andrew Morton | 5c31f27 | 2006-06-27 02:53:26 -0700 | [diff] [blame] | 79 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 80 | config SOFTWARE_SUSPEND |
Pavel Machek | 19c3243 | 2005-06-25 14:55:17 -0700 | [diff] [blame] | 81 | bool "Software Suspend" |
Rafael J. Wysocki | 2d4a34c | 2006-12-06 20:34:29 -0800 | [diff] [blame] | 82 | depends on PM && SWAP && ((X86 && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP)) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 83 | ---help--- |
| 84 | Enable the possibility of suspending the machine. |
Adrian Bunk | 3e6e952 | 2006-04-01 01:03:08 +0200 | [diff] [blame] | 85 | It doesn't need ACPI or APM. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 86 | You may suspend your machine by 'swsusp' or 'shutdown -z <time>' |
| 87 | (patch for sysvinit needed). |
| 88 | |
| 89 | It creates an image which is saved in your active swap. Upon next |
| 90 | boot, pass the 'resume=/dev/swappartition' argument to the kernel to |
| 91 | have it detect the saved image, restore memory state from it, and |
| 92 | continue to run as before. If you do not want the previous state to |
| 93 | be reloaded, then use the 'noresume' kernel argument. However, note |
| 94 | that your partitions will be fsck'd and you must re-mkswap your swap |
| 95 | partitions. It does not work with swap files. |
| 96 | |
| 97 | Right now you may boot without resuming and then later resume but |
| 98 | in meantime you cannot use those swap partitions/files which were |
| 99 | involved in suspending. Also in this case there is a risk that buffers |
| 100 | on disk won't match with saved ones. |
| 101 | |
| 102 | For more information take a look at <file:Documentation/power/swsusp.txt>. |
| 103 | |
Pavel Machek | 471b40d | 2006-09-06 00:03:43 -0700 | [diff] [blame] | 104 | (For now, swsusp is incompatible with PAE aka HIGHMEM_64G on i386. |
| 105 | we need identity mapping for resume to work, and that is trivial |
| 106 | to get with 4MB pages, but less than trivial on PAE). |
| 107 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 108 | config PM_STD_PARTITION |
| 109 | string "Default resume partition" |
| 110 | depends on SOFTWARE_SUSPEND |
| 111 | default "" |
| 112 | ---help--- |
| 113 | The default resume partition is the partition that the suspend- |
| 114 | to-disk implementation will look for a suspended disk image. |
| 115 | |
| 116 | The partition specified here will be different for almost every user. |
| 117 | It should be a valid swap partition (at least for now) that is turned |
| 118 | on before suspending. |
| 119 | |
| 120 | The partition specified can be overridden by specifying: |
| 121 | |
| 122 | resume=/dev/<other device> |
| 123 | |
| 124 | which will set the resume partition to the device specified. |
| 125 | |
| 126 | Note there is currently not a way to specify which device to save the |
| 127 | suspended image to. It will simply pick the first available swap |
| 128 | device. |
| 129 | |
Li Shaohua | 5a72e04 | 2005-06-25 14:55:06 -0700 | [diff] [blame] | 130 | config SUSPEND_SMP |
| 131 | bool |
| 132 | depends on HOTPLUG_CPU && X86 && PM |
| 133 | default y |
Ralf Baechle | 7726942 | 2007-02-09 17:08:57 +0000 | [diff] [blame] | 134 | |
| 135 | config APM_EMULATION |
| 136 | tristate "Advanced Power Management Emulation" |
| 137 | depends on PM && SYS_SUPPORTS_APM_EMULATION |
| 138 | help |
| 139 | APM is a BIOS specification for saving power using several different |
| 140 | techniques. This is mostly useful for battery powered laptops with |
| 141 | APM compliant BIOSes. If you say Y here, the system time will be |
| 142 | reset after a RESUME operation, the /proc/apm device will provide |
| 143 | battery status information, and user-space programs will receive |
| 144 | notification of APM "events" (e.g. battery status change). |
| 145 | |
| 146 | In order to use APM, you will need supporting software. For location |
| 147 | and more information, read <file:Documentation/pm.txt> and the |
| 148 | Battery Powered Linux mini-HOWTO, available from |
| 149 | <http://www.tldp.org/docs.html#howto>. |
| 150 | |
| 151 | This driver does not spin down disk drives (see the hdparm(8) |
| 152 | manpage ("man 8 hdparm") for that), and it doesn't turn off |
| 153 | VESA-compliant "green" monitors. |
| 154 | |
| 155 | Generally, if you don't have a battery in your machine, there isn't |
| 156 | much point in using this driver and you should say N. If you get |
| 157 | random kernel OOPSes or reboots that don't seem to be related to |
| 158 | anything, try disabling/enabling this option (or disabling/enabling |
| 159 | APM in your BIOS). |