11da177e4SLinus Torvaldsconfig PM 21da177e4SLinus Torvalds bool "Power Management support" 3eb7b6b32SLen Brown depends on !IA64_HP_SIM 41da177e4SLinus Torvalds ---help--- 51da177e4SLinus Torvalds "Power Management" means that parts of your computer are shut 61da177e4SLinus Torvalds off or put into a power conserving "sleep" mode if they are not 71da177e4SLinus Torvalds being used. There are two competing standards for doing this: APM 81da177e4SLinus Torvalds and ACPI. If you want to use either one, say Y here and then also 91da177e4SLinus Torvalds to the requisite support below. 101da177e4SLinus Torvalds 111da177e4SLinus Torvalds Power Management is most important for battery powered laptop 121da177e4SLinus Torvalds computers; if you have a laptop, check out the Linux Laptop home 131da177e4SLinus Torvalds page on the WWW at <http://www.linux-on-laptops.com/> or 141da177e4SLinus Torvalds Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/> 151da177e4SLinus Torvalds and the Battery Powered Linux mini-HOWTO, available from 161da177e4SLinus Torvalds <http://www.tldp.org/docs.html#howto>. 171da177e4SLinus Torvalds 181da177e4SLinus Torvalds Note that, even if you say N here, Linux on the x86 architecture 191da177e4SLinus Torvalds will issue the hlt instruction if nothing is to be done, thereby 201da177e4SLinus Torvalds sending the processor to sleep and saving power. 211da177e4SLinus Torvalds 22bca73e4bSJeff Garzikconfig PM_LEGACY 23f89bce3dSDavid Brownell bool "Legacy Power Management API (DEPRECATED)" 24bca73e4bSJeff Garzik depends on PM 25f89bce3dSDavid Brownell default n 26bca73e4bSJeff Garzik ---help--- 27f89bce3dSDavid Brownell Support for pm_register() and friends. This old API is obsoleted 28f89bce3dSDavid Brownell by the driver model. 29bca73e4bSJeff Garzik 30f89bce3dSDavid Brownell If unsure, say N. 31bca73e4bSJeff Garzik 321da177e4SLinus Torvaldsconfig PM_DEBUG 331da177e4SLinus Torvalds bool "Power Management Debug Support" 341da177e4SLinus Torvalds depends on PM 351da177e4SLinus Torvalds ---help--- 361da177e4SLinus Torvalds This option enables verbose debugging support in the Power Management 371da177e4SLinus Torvalds code. This is helpful when debugging and reporting various PM bugs, 381da177e4SLinus Torvalds like suspend support. 391da177e4SLinus Torvalds 40c8eb8b40SRafael J. Wysockiconfig DISABLE_CONSOLE_SUSPEND 41c8eb8b40SRafael J. Wysocki bool "Keep console(s) enabled during suspend/resume (DANGEROUS)" 42c8eb8b40SRafael J. Wysocki depends on PM && PM_DEBUG 43c8eb8b40SRafael J. Wysocki default n 44c8eb8b40SRafael J. Wysocki ---help--- 45c8eb8b40SRafael J. Wysocki This option turns off the console suspend mechanism that prevents 46c8eb8b40SRafael J. Wysocki debug messages from reaching the console during the suspend/resume 47c8eb8b40SRafael J. Wysocki operations. This may be helpful when debugging device drivers' 48c8eb8b40SRafael J. Wysocki suspend/resume routines, but may itself lead to problems, for example 49c8eb8b40SRafael J. Wysocki if netconsole is used. 50c8eb8b40SRafael J. Wysocki 51eb71c87aSLinus Torvaldsconfig PM_TRACE 52eb71c87aSLinus Torvalds bool "Suspend/resume event tracing" 535c31f273SAndrew Morton depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL 545c31f273SAndrew Morton default n 55eb71c87aSLinus Torvalds ---help--- 56eb71c87aSLinus Torvalds This enables some cheesy code to save the last PM event point in the 57eb71c87aSLinus Torvalds RTC across reboots, so that you can debug a machine that just hangs 58eb71c87aSLinus Torvalds during suspend (or more commonly, during resume). 59eb71c87aSLinus Torvalds 605c31f273SAndrew Morton To use this debugging feature you should attempt to suspend the machine, 615c31f273SAndrew Morton then reboot it, then run 625c31f273SAndrew Morton 635c31f273SAndrew Morton dmesg -s 1000000 | grep 'hash matches' 645c31f273SAndrew Morton 655c31f273SAndrew Morton CAUTION: this option will cause your machine's real-time clock to be 665c31f273SAndrew Morton set to an invalid time after a resume. 675c31f273SAndrew Morton 682bca293eSDavid Brownellconfig PM_SYSFS_DEPRECATED 692bca293eSDavid Brownell bool "Driver model /sys/devices/.../power/state files (DEPRECATED)" 702bca293eSDavid Brownell depends on PM && SYSFS 712bca293eSDavid Brownell default n 722bca293eSDavid Brownell help 732bca293eSDavid Brownell The driver model started out with a sysfs file intended to provide 742bca293eSDavid Brownell a userspace hook for device power management. This feature has never 752bca293eSDavid Brownell worked very well, except for limited testing purposes, and so it will 762bca293eSDavid Brownell be removed. It's not clear that a generic mechanism could really 772bca293eSDavid Brownell handle the wide variability of device power states; any replacements 782bca293eSDavid Brownell are likely to be bus or driver specific. 795c31f273SAndrew Morton 801da177e4SLinus Torvaldsconfig SOFTWARE_SUSPEND 8119c32439SPavel Machek bool "Software Suspend" 822d4a34c9SRafael J. Wysocki depends on PM && SWAP && ((X86 && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP)) 831da177e4SLinus Torvalds ---help--- 841da177e4SLinus Torvalds Enable the possibility of suspending the machine. 853e6e952dSAdrian Bunk It doesn't need ACPI or APM. 861da177e4SLinus Torvalds You may suspend your machine by 'swsusp' or 'shutdown -z <time>' 871da177e4SLinus Torvalds (patch for sysvinit needed). 881da177e4SLinus Torvalds 891da177e4SLinus Torvalds It creates an image which is saved in your active swap. Upon next 901da177e4SLinus Torvalds boot, pass the 'resume=/dev/swappartition' argument to the kernel to 911da177e4SLinus Torvalds have it detect the saved image, restore memory state from it, and 921da177e4SLinus Torvalds continue to run as before. If you do not want the previous state to 931da177e4SLinus Torvalds be reloaded, then use the 'noresume' kernel argument. However, note 941da177e4SLinus Torvalds that your partitions will be fsck'd and you must re-mkswap your swap 951da177e4SLinus Torvalds partitions. It does not work with swap files. 961da177e4SLinus Torvalds 971da177e4SLinus Torvalds Right now you may boot without resuming and then later resume but 981da177e4SLinus Torvalds in meantime you cannot use those swap partitions/files which were 991da177e4SLinus Torvalds involved in suspending. Also in this case there is a risk that buffers 1001da177e4SLinus Torvalds on disk won't match with saved ones. 1011da177e4SLinus Torvalds 1021da177e4SLinus Torvalds For more information take a look at <file:Documentation/power/swsusp.txt>. 1031da177e4SLinus Torvalds 104471b40d0SPavel Machek (For now, swsusp is incompatible with PAE aka HIGHMEM_64G on i386. 105471b40d0SPavel Machek we need identity mapping for resume to work, and that is trivial 106471b40d0SPavel Machek to get with 4MB pages, but less than trivial on PAE). 107471b40d0SPavel Machek 1081da177e4SLinus Torvaldsconfig PM_STD_PARTITION 1091da177e4SLinus Torvalds string "Default resume partition" 1101da177e4SLinus Torvalds depends on SOFTWARE_SUSPEND 1111da177e4SLinus Torvalds default "" 1121da177e4SLinus Torvalds ---help--- 1131da177e4SLinus Torvalds The default resume partition is the partition that the suspend- 1141da177e4SLinus Torvalds to-disk implementation will look for a suspended disk image. 1151da177e4SLinus Torvalds 1161da177e4SLinus Torvalds The partition specified here will be different for almost every user. 1171da177e4SLinus Torvalds It should be a valid swap partition (at least for now) that is turned 1181da177e4SLinus Torvalds on before suspending. 1191da177e4SLinus Torvalds 1201da177e4SLinus Torvalds The partition specified can be overridden by specifying: 1211da177e4SLinus Torvalds 1221da177e4SLinus Torvalds resume=/dev/<other device> 1231da177e4SLinus Torvalds 1241da177e4SLinus Torvalds which will set the resume partition to the device specified. 1251da177e4SLinus Torvalds 1261da177e4SLinus Torvalds Note there is currently not a way to specify which device to save the 1271da177e4SLinus Torvalds suspended image to. It will simply pick the first available swap 1281da177e4SLinus Torvalds device. 1291da177e4SLinus Torvalds 1305a72e04dSLi Shaohuaconfig SUSPEND_SMP 1315a72e04dSLi Shaohua bool 1325a72e04dSLi Shaohua depends on HOTPLUG_CPU && X86 && PM 1335a72e04dSLi Shaohua default y 134*7726942fSRalf Baechle 135*7726942fSRalf Baechleconfig APM_EMULATION 136*7726942fSRalf Baechle tristate "Advanced Power Management Emulation" 137*7726942fSRalf Baechle depends on PM && SYS_SUPPORTS_APM_EMULATION 138*7726942fSRalf Baechle help 139*7726942fSRalf Baechle APM is a BIOS specification for saving power using several different 140*7726942fSRalf Baechle techniques. This is mostly useful for battery powered laptops with 141*7726942fSRalf Baechle APM compliant BIOSes. If you say Y here, the system time will be 142*7726942fSRalf Baechle reset after a RESUME operation, the /proc/apm device will provide 143*7726942fSRalf Baechle battery status information, and user-space programs will receive 144*7726942fSRalf Baechle notification of APM "events" (e.g. battery status change). 145*7726942fSRalf Baechle 146*7726942fSRalf Baechle In order to use APM, you will need supporting software. For location 147*7726942fSRalf Baechle and more information, read <file:Documentation/pm.txt> and the 148*7726942fSRalf Baechle Battery Powered Linux mini-HOWTO, available from 149*7726942fSRalf Baechle <http://www.tldp.org/docs.html#howto>. 150*7726942fSRalf Baechle 151*7726942fSRalf Baechle This driver does not spin down disk drives (see the hdparm(8) 152*7726942fSRalf Baechle manpage ("man 8 hdparm") for that), and it doesn't turn off 153*7726942fSRalf Baechle VESA-compliant "green" monitors. 154*7726942fSRalf Baechle 155*7726942fSRalf Baechle Generally, if you don't have a battery in your machine, there isn't 156*7726942fSRalf Baechle much point in using this driver and you should say N. If you get 157*7726942fSRalf Baechle random kernel OOPSes or reboots that don't seem to be related to 158*7726942fSRalf Baechle anything, try disabling/enabling this option (or disabling/enabling 159*7726942fSRalf Baechle APM in your BIOS). 160