293 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			293 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| config PM
 | |
| 	bool "Power Management support"
 | |
| 	depends on !IA64_HP_SIM
 | |
| 	---help---
 | |
| 	  "Power Management" means that parts of your computer are shut
 | |
| 	  off or put into a power conserving "sleep" mode if they are not
 | |
| 	  being used.  There are two competing standards for doing this: APM
 | |
| 	  and ACPI.  If you want to use either one, say Y here and then also
 | |
| 	  to the requisite support below.
 | |
| 
 | |
| 	  Power Management is most important for battery powered laptop
 | |
| 	  computers; if you have a laptop, check out the Linux Laptop home
 | |
| 	  page on the WWW at <http://www.linux-on-laptops.com/> or
 | |
| 	  Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
 | |
| 	  and the Battery Powered Linux mini-HOWTO, available from
 | |
| 	  <http://www.tldp.org/docs.html#howto>.
 | |
| 
 | |
| 	  Note that, even if you say N here, Linux on the x86 architecture
 | |
| 	  will issue the hlt instruction if nothing is to be done, thereby
 | |
| 	  sending the processor to sleep and saving power.
 | |
| 
 | |
| config PM_DEBUG
 | |
| 	bool "Power Management Debug Support"
 | |
| 	depends on PM
 | |
| 	---help---
 | |
| 	This option enables various debugging support in the Power Management
 | |
| 	code. This is helpful when debugging and reporting PM bugs, like
 | |
| 	suspend support.
 | |
| 
 | |
| config PM_VERBOSE
 | |
| 	bool "Verbose Power Management debugging"
 | |
| 	depends on PM_DEBUG
 | |
| 	default n
 | |
| 	---help---
 | |
| 	This option enables verbose messages from the Power Management code.
 | |
| 
 | |
| config CAN_PM_TRACE
 | |
| 	def_bool y
 | |
| 	depends on PM_DEBUG && PM_SLEEP && EXPERIMENTAL
 | |
| 
 | |
| config PM_TRACE
 | |
| 	bool "Power Management Trace Support"
 | |
| 	depends on PM
 | |
| 	help
 | |
| 	  This enables code to save the last PM event point across
 | |
| 	  reboot. The architecture needs to support this, x86 for
 | |
| 	  example does by saving things in the RTC, see below.
 | |
| 
 | |
| 	  The architecture specific code must provide the extern
 | |
| 	  functions from <linux/resume-trace.h> as well as the
 | |
| 	  <asm/resume-trace.h> header with a TRACE_RESUME() macro.
 | |
| 
 | |
| 	  The way the information is presented is architecture-
 | |
| 	  dependent, x86 will print the information during a
 | |
| 	  late_initcall.
 | |
| 
 | |
| config PM_TRACE_RTC
 | |
| 	bool "Suspend/resume event tracing"
 | |
| 	depends on CAN_PM_TRACE
 | |
| 	depends on X86
 | |
| 	select PM_TRACE
 | |
| 	default n
 | |
| 	---help---
 | |
| 	This enables some cheesy code to save the last PM event point in the
 | |
| 	RTC across reboots, so that you can debug a machine that just hangs
 | |
| 	during suspend (or more commonly, during resume).
 | |
| 
 | |
| 	To use this debugging feature you should attempt to suspend the
 | |
| 	machine, reboot it and then run
 | |
| 
 | |
| 		dmesg -s 1000000 | grep 'hash matches'
 | |
| 
 | |
| 	CAUTION: this option will cause your machine's real-time clock to be
 | |
| 	set to an invalid time after a resume.
 | |
| 
 | |
| config PM_SLEEP_SMP
 | |
| 	bool
 | |
| 	depends on SMP
 | |
| 	depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
 | |
| 	depends on PM_SLEEP
 | |
| 	select HOTPLUG_CPU
 | |
| 	default y
 | |
| 
 | |
| config PM_SLEEP
 | |
| 	bool
 | |
| 	depends on SUSPEND || HIBERNATION || XEN_SAVE_RESTORE
 | |
| 	default y
 | |
| 
 | |
| config SUSPEND
 | |
| 	bool "Suspend to RAM and standby"
 | |
| 	depends on PM && ARCH_SUSPEND_POSSIBLE
 | |
| 	default y
 | |
| 	---help---
 | |
| 	  Allow the system to enter sleep states in which main memory is
 | |
| 	  powered and thus its contents are preserved, such as the
 | |
| 	  suspend-to-RAM state (e.g. the ACPI S3 state).
 | |
| 
 | |
| config PM_TEST_SUSPEND
 | |
| 	bool "Test suspend/resume and wakealarm during bootup"
 | |
| 	depends on SUSPEND && PM_DEBUG && RTC_CLASS=y
 | |
| 	---help---
 | |
| 	This option will let you suspend your machine during bootup, and
 | |
| 	make it wake up a few seconds later using an RTC wakeup alarm.
 | |
| 	Enable this with a kernel parameter like "test_suspend=mem".
 | |
| 
 | |
| 	You probably want to have your system's RTC driver statically
 | |
| 	linked, ensuring that it's available when this test runs.
 | |
| 
 | |
| config SUSPEND_FREEZER
 | |
| 	bool "Enable freezer for suspend to RAM/standby" \
 | |
| 		if ARCH_WANTS_FREEZER_CONTROL || BROKEN
 | |
| 	depends on SUSPEND
 | |
| 	default y
 | |
| 	help
 | |
| 	  This allows you to turn off the freezer for suspend. If this is
 | |
| 	  done, no tasks are frozen for suspend to RAM/standby.
 | |
| 
 | |
| 	  Turning OFF this setting is NOT recommended! If in doubt, say Y.
 | |
| 
 | |
| config HIBERNATION_NVS
 | |
| 	bool
 | |
| 
 | |
| config HAS_WAKELOCK
 | |
| 	bool
 | |
| 
 | |
| config HAS_EARLYSUSPEND
 | |
| 	bool
 | |
| 
 | |
| config WAKELOCK
 | |
| 	bool "Wake lock"
 | |
| 	depends on PM && RTC_CLASS
 | |
| 	default n
 | |
| 	select HAS_WAKELOCK
 | |
| 	---help---
 | |
| 	  Enable wakelocks. When user space request a sleep state the
 | |
| 	  sleep request will be delayed until no wake locks are held.
 | |
| 
 | |
| config WAKELOCK_STAT
 | |
| 	bool "Wake lock stats"
 | |
| 	depends on WAKELOCK
 | |
| 	default y
 | |
| 	---help---
 | |
| 	  Report wake lock stats in /proc/wakelocks
 | |
| 
 | |
| config USER_WAKELOCK
 | |
| 	bool "Userspace wake locks"
 | |
| 	depends on WAKELOCK
 | |
| 	default y
 | |
| 	---help---
 | |
| 	  User-space wake lock api. Write "lockname" or "lockname timeout"
 | |
| 	  to /sys/power/wake_lock lock and if needed create a wake lock.
 | |
| 	  Write "lockname" to /sys/power/wake_unlock to unlock a user wake
 | |
| 	  lock.
 | |
| 
 | |
| config EARLYSUSPEND
 | |
| 	bool "Early suspend"
 | |
| 	depends on WAKELOCK
 | |
| 	default y
 | |
| 	select HAS_EARLYSUSPEND
 | |
| 	---help---
 | |
| 	  Call early suspend handlers when the user requested sleep state
 | |
| 	  changes.
 | |
| 
 | |
| choice
 | |
| 	prompt "User-space screen access"
 | |
| 	default FB_EARLYSUSPEND if !FRAMEBUFFER_CONSOLE
 | |
| 	default CONSOLE_EARLYSUSPEND
 | |
| 	depends on HAS_EARLYSUSPEND
 | |
| 
 | |
| 	config NO_USER_SPACE_SCREEN_ACCESS_CONTROL
 | |
| 		bool "None"
 | |
| 
 | |
| 	config CONSOLE_EARLYSUSPEND
 | |
| 		bool "Console switch on early-suspend"
 | |
| 		depends on HAS_EARLYSUSPEND && VT
 | |
| 		---help---
 | |
| 		  Register early suspend handler to perform a console switch to
 | |
| 		  when user-space should stop drawing to the screen and a switch
 | |
| 		  back when it should resume.
 | |
| 
 | |
| 	config FB_EARLYSUSPEND
 | |
| 		bool "Sysfs interface"
 | |
| 		depends on HAS_EARLYSUSPEND
 | |
| 		---help---
 | |
| 		  Register early suspend handler that notifies and waits for
 | |
| 		  user-space through sysfs when user-space should stop drawing
 | |
| 		  to the screen and notifies user-space when it should resume.
 | |
| endchoice
 | |
| 
 | |
| config HIBERNATION
 | |
| 	bool "Hibernation (aka 'suspend to disk')"
 | |
| 	depends on PM && SWAP && ARCH_HIBERNATION_POSSIBLE
 | |
| 	select HIBERNATION_NVS if HAS_IOMEM
 | |
| 	---help---
 | |
| 	  Enable the suspend to disk (STD) functionality, which is usually
 | |
| 	  called "hibernation" in user interfaces.  STD checkpoints the
 | |
| 	  system and powers it off; and restores that checkpoint on reboot.
 | |
| 
 | |
| 	  You can suspend your machine with 'echo disk > /sys/power/state'
 | |
| 	  after placing resume=/dev/swappartition on the kernel command line
 | |
| 	  in your bootloader's configuration file.
 | |
| 
 | |
| 	  Alternatively, you can use the additional userland tools available
 | |
| 	  from <http://suspend.sf.net>.
 | |
| 
 | |
| 	  In principle it does not require ACPI or APM, although for example
 | |
| 	  ACPI will be used for the final steps when it is available.  One
 | |
| 	  of the reasons to use software suspend is that the firmware hooks
 | |
| 	  for suspend states like suspend-to-RAM (STR) often don't work very
 | |
| 	  well with Linux.
 | |
| 
 | |
| 	  It creates an image which is saved in your active swap. Upon the next
 | |
| 	  boot, pass the 'resume=/dev/swappartition' argument to the kernel to
 | |
| 	  have it detect the saved image, restore memory state from it, and
 | |
| 	  continue to run as before. If you do not want the previous state to
 | |
| 	  be reloaded, then use the 'noresume' kernel command line argument.
 | |
| 	  Note, however, that fsck will be run on your filesystems and you will
 | |
| 	  need to run mkswap against the swap partition used for the suspend.
 | |
| 
 | |
| 	  It also works with swap files to a limited extent (for details see
 | |
| 	  <file:Documentation/power/swsusp-and-swap-files.txt>).
 | |
| 
 | |
| 	  Right now you may boot without resuming and resume later but in the
 | |
| 	  meantime you cannot use the swap partition(s)/file(s) involved in
 | |
| 	  suspending.  Also in this case you must not use the filesystems
 | |
| 	  that were mounted before the suspend.  In particular, you MUST NOT
 | |
| 	  MOUNT any journaled filesystems mounted before the suspend or they
 | |
| 	  will get corrupted in a nasty way.
 | |
| 
 | |
| 	  For more information take a look at <file:Documentation/power/swsusp.txt>.
 | |
| 
 | |
| config PM_STD_PARTITION
 | |
| 	string "Default resume partition"
 | |
| 	depends on HIBERNATION
 | |
| 	default ""
 | |
| 	---help---
 | |
| 	  The default resume partition is the partition that the suspend-
 | |
| 	  to-disk implementation will look for a suspended disk image. 
 | |
| 
 | |
| 	  The partition specified here will be different for almost every user. 
 | |
| 	  It should be a valid swap partition (at least for now) that is turned
 | |
| 	  on before suspending. 
 | |
| 
 | |
| 	  The partition specified can be overridden by specifying:
 | |
| 
 | |
| 		resume=/dev/<other device> 
 | |
| 
 | |
| 	  which will set the resume partition to the device specified. 
 | |
| 
 | |
| 	  Note there is currently not a way to specify which device to save the
 | |
| 	  suspended image to. It will simply pick the first available swap 
 | |
| 	  device.
 | |
| 
 | |
| config APM_EMULATION
 | |
| 	tristate "Advanced Power Management Emulation"
 | |
| 	depends on PM && SYS_SUPPORTS_APM_EMULATION
 | |
| 	help
 | |
| 	  APM is a BIOS specification for saving power using several different
 | |
| 	  techniques. This is mostly useful for battery powered laptops with
 | |
| 	  APM compliant BIOSes. If you say Y here, the system time will be
 | |
| 	  reset after a RESUME operation, the /proc/apm device will provide
 | |
| 	  battery status information, and user-space programs will receive
 | |
| 	  notification of APM "events" (e.g. battery status change).
 | |
| 
 | |
| 	  In order to use APM, you will need supporting software. For location
 | |
| 	  and more information, read <file:Documentation/power/pm.txt> and the
 | |
| 	  Battery Powered Linux mini-HOWTO, available from
 | |
| 	  <http://www.tldp.org/docs.html#howto>.
 | |
| 
 | |
| 	  This driver does not spin down disk drives (see the hdparm(8)
 | |
| 	  manpage ("man 8 hdparm") for that), and it doesn't turn off
 | |
| 	  VESA-compliant "green" monitors.
 | |
| 
 | |
| 	  Generally, if you don't have a battery in your machine, there isn't
 | |
| 	  much point in using this driver and you should say N. If you get
 | |
| 	  random kernel OOPSes or reboots that don't seem to be related to
 | |
| 	  anything, try disabling/enabling this option (or disabling/enabling
 | |
| 	  APM in your BIOS).
 | |
| 
 | |
| config PM_RUNTIME
 | |
| 	bool "Run-time PM core functionality"
 | |
| 	depends on PM
 | |
| 	---help---
 | |
| 	  Enable functionality allowing I/O devices to be put into energy-saving
 | |
| 	  (low power) states at run time (or autosuspended) after a specified
 | |
| 	  period of inactivity and woken up in response to a hardware-generated
 | |
| 	  wake-up event or a driver's request.
 | |
| 
 | |
| 	  Hardware support is generally required for this functionality to work
 | |
| 	  and the bus type drivers of the buses the devices are on are
 | |
| 	  responsible for the actual handling of the autosuspend requests and
 | |
| 	  wake-up events.
 |