xref: /linux/kernel/power/Kconfig (revision 5c31f2738ab124ebc1f8948a5fc17dd7a08ed1ec)
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
23bca73e4bSJeff Garzik	bool "Legacy Power Management API"
24bca73e4bSJeff Garzik	depends on PM
25bca73e4bSJeff Garzik	default y
26bca73e4bSJeff Garzik	---help---
27bca73e4bSJeff Garzik	   Support for pm_register() and friends.
28bca73e4bSJeff Garzik
29bca73e4bSJeff Garzik	   If unsure, say Y.
30bca73e4bSJeff Garzik
311da177e4SLinus Torvaldsconfig PM_DEBUG
321da177e4SLinus Torvalds	bool "Power Management Debug Support"
331da177e4SLinus Torvalds	depends on PM
341da177e4SLinus Torvalds	---help---
351da177e4SLinus Torvalds	This option enables verbose debugging support in the Power Management
361da177e4SLinus Torvalds	code. This is helpful when debugging and reporting various PM bugs,
371da177e4SLinus Torvalds	like suspend support.
381da177e4SLinus Torvalds
39eb71c87aSLinus Torvaldsconfig PM_TRACE
40eb71c87aSLinus Torvalds	bool "Suspend/resume event tracing"
41*5c31f273SAndrew Morton	depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL
42*5c31f273SAndrew Morton	default n
43eb71c87aSLinus Torvalds	---help---
44eb71c87aSLinus Torvalds	This enables some cheesy code to save the last PM event point in the
45eb71c87aSLinus Torvalds	RTC across reboots, so that you can debug a machine that just hangs
46eb71c87aSLinus Torvalds	during suspend (or more commonly, during resume).
47eb71c87aSLinus Torvalds
48*5c31f273SAndrew Morton	To use this debugging feature you should attempt to suspend the machine,
49*5c31f273SAndrew Morton	then reboot it, then run
50*5c31f273SAndrew Morton
51*5c31f273SAndrew Morton		dmesg -s 1000000 | grep 'hash matches'
52*5c31f273SAndrew Morton
53*5c31f273SAndrew Morton	CAUTION: this option will cause your machine's real-time clock to be
54*5c31f273SAndrew Morton	set to an invalid time after a resume.
55*5c31f273SAndrew Morton
56*5c31f273SAndrew Morton
571da177e4SLinus Torvaldsconfig SOFTWARE_SUSPEND
5819c32439SPavel Machek	bool "Software Suspend"
59750c902eSAdrian Bunk	depends on PM && SWAP && (X86 && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP)
601da177e4SLinus Torvalds	---help---
611da177e4SLinus Torvalds	  Enable the possibility of suspending the machine.
623e6e952dSAdrian Bunk	  It doesn't need ACPI or APM.
631da177e4SLinus Torvalds	  You may suspend your machine by 'swsusp' or 'shutdown -z <time>'
641da177e4SLinus Torvalds	  (patch for sysvinit needed).
651da177e4SLinus Torvalds
661da177e4SLinus Torvalds	  It creates an image which is saved in your active swap. Upon next
671da177e4SLinus Torvalds	  boot, pass the 'resume=/dev/swappartition' argument to the kernel to
681da177e4SLinus Torvalds	  have it detect the saved image, restore memory state from it, and
691da177e4SLinus Torvalds	  continue to run as before. If you do not want the previous state to
701da177e4SLinus Torvalds	  be reloaded, then use the 'noresume' kernel argument. However, note
711da177e4SLinus Torvalds	  that your partitions will be fsck'd and you must re-mkswap your swap
721da177e4SLinus Torvalds	  partitions. It does not work with swap files.
731da177e4SLinus Torvalds
741da177e4SLinus Torvalds	  Right now you may boot without resuming and then later resume but
751da177e4SLinus Torvalds	  in meantime you cannot use those swap partitions/files which were
761da177e4SLinus Torvalds	  involved in suspending. Also in this case there is a risk that buffers
771da177e4SLinus Torvalds	  on disk won't match with saved ones.
781da177e4SLinus Torvalds
791da177e4SLinus Torvalds	  For more information take a look at <file:Documentation/power/swsusp.txt>.
801da177e4SLinus Torvalds
811da177e4SLinus Torvaldsconfig PM_STD_PARTITION
821da177e4SLinus Torvalds	string "Default resume partition"
831da177e4SLinus Torvalds	depends on SOFTWARE_SUSPEND
841da177e4SLinus Torvalds	default ""
851da177e4SLinus Torvalds	---help---
861da177e4SLinus Torvalds	  The default resume partition is the partition that the suspend-
871da177e4SLinus Torvalds	  to-disk implementation will look for a suspended disk image.
881da177e4SLinus Torvalds
891da177e4SLinus Torvalds	  The partition specified here will be different for almost every user.
901da177e4SLinus Torvalds	  It should be a valid swap partition (at least for now) that is turned
911da177e4SLinus Torvalds	  on before suspending.
921da177e4SLinus Torvalds
931da177e4SLinus Torvalds	  The partition specified can be overridden by specifying:
941da177e4SLinus Torvalds
951da177e4SLinus Torvalds		resume=/dev/<other device>
961da177e4SLinus Torvalds
971da177e4SLinus Torvalds	  which will set the resume partition to the device specified.
981da177e4SLinus Torvalds
991da177e4SLinus Torvalds	  Note there is currently not a way to specify which device to save the
1001da177e4SLinus Torvalds	  suspended image to. It will simply pick the first available swap
1011da177e4SLinus Torvalds	  device.
1021da177e4SLinus Torvalds
103c2ff18f4SAndreas Steinmetzconfig SWSUSP_ENCRYPT
104c2ff18f4SAndreas Steinmetz	bool "Encrypt suspend image"
105c2ff18f4SAndreas Steinmetz	depends on SOFTWARE_SUSPEND && CRYPTO=y && (CRYPTO_AES=y || CRYPTO_AES_586=y || CRYPTO_AES_X86_64=y)
106c2ff18f4SAndreas Steinmetz	default ""
107c2ff18f4SAndreas Steinmetz	---help---
108c2ff18f4SAndreas Steinmetz	  To prevent data gathering from swap after resume you can encrypt
109c2ff18f4SAndreas Steinmetz	  the suspend image with a temporary key that is deleted on
110c2ff18f4SAndreas Steinmetz	  resume.
111c2ff18f4SAndreas Steinmetz
112c2ff18f4SAndreas Steinmetz	  Note that the temporary key is stored unencrypted on disk while the
113c2ff18f4SAndreas Steinmetz	  system is suspended.
114c2ff18f4SAndreas Steinmetz
1155a72e04dSLi Shaohuaconfig SUSPEND_SMP
1165a72e04dSLi Shaohua	bool
1175a72e04dSLi Shaohua	depends on HOTPLUG_CPU && X86 && PM
1185a72e04dSLi Shaohua	default y
119