#
# Configuration file for Laptop Mode Tools module runtime-pm
#
# For more information, consult the laptop-mode.conf(8) manual page.
#


###############################################################################
# Linux Runtime Power Management
# -------------------------------
#
# If you enable this setting, laptop mode tools will automatically set the
# Runtime Power Management framework of the Linux Kernel.
# This setting does not hurt, so there are no AC vs. battery settings:
# if CONTROL_RUNTIME_PM is set to 1, the powersave mode is always enabled.
# Set to 0 to disable.
#
# Default is "auto"
#
###############################################################################

# Control Runtime Power Management ?
CONTROL_RUNTIME_PM="auto"

# Enable debug mode for this module
# Set to 1 if you want to debug this module
DEBUG=0

# The list of devices that should not use Runtime Power Management by name.
# Example: RUNTIME_PM_NAME_BLACKLIST="isl29018 cyapa"
RUNTIME_PM_NAME_BLACKLIST="cyapa"
