Commit 87cc537a authored by Henrique de Moraes Holschuh's avatar Henrique de Moraes Holschuh Committed by Len Brown

ACPI: thinkpad-acpi: add brightness_force parameter

Add a "brightness_enable" module parameter that allows the local admin to
force the backlight support to not be enabled.

It can also be used to force the backlight support to be enabled, but that
is currently a no-op as the backlight support is enabled by default when
available.  This will be changed by a different patch.
Signed-off-by: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent a3f104c0
...@@ -944,6 +944,10 @@ When display backlight brightness controls are available through the ...@@ -944,6 +944,10 @@ When display backlight brightness controls are available through the
standard ACPI interface, it is best to use it instead of this direct standard ACPI interface, it is best to use it instead of this direct
ThinkPad-specific interface. ThinkPad-specific interface.
The brightness_enable module parameter can be used to control whether
the LCD brightness control feature will be enabled when available.
brightness_enable=0 forces it to be disabled.
Procfs notes: Procfs notes:
The available commands are: The available commands are:
......
...@@ -3182,6 +3182,12 @@ static int __init brightness_init(struct ibm_init_struct *iibm) ...@@ -3182,6 +3182,12 @@ static int __init brightness_init(struct ibm_init_struct *iibm)
mutex_init(&brightness_mutex); mutex_init(&brightness_mutex);
if (!brightness_enable) {
dbg_printk(TPACPI_DBG_INIT,
"brightness support disabled by module parameter\n");
return 1;
}
if (!brightness_mode) { if (!brightness_mode) {
if (thinkpad_id.vendor == PCI_VENDOR_ID_LENOVO) if (thinkpad_id.vendor == PCI_VENDOR_ID_LENOVO)
brightness_mode = 2; brightness_mode = 2;
...@@ -4803,6 +4809,9 @@ module_param_named(fan_control, fan_control_allowed, bool, 0); ...@@ -4803,6 +4809,9 @@ module_param_named(fan_control, fan_control_allowed, bool, 0);
static int brightness_mode; static int brightness_mode;
module_param_named(brightness_mode, brightness_mode, int, 0); module_param_named(brightness_mode, brightness_mode, int, 0);
static unsigned int brightness_enable = 2; /* 2 = auto, 0 = no, 1 = yes */
module_param(brightness_enable, uint, 0);
static unsigned int hotkey_report_mode; static unsigned int hotkey_report_mode;
module_param(hotkey_report_mode, uint, 0); module_param(hotkey_report_mode, uint, 0);
......
...@@ -339,6 +339,7 @@ static int bluetooth_write(char *buf); ...@@ -339,6 +339,7 @@ static int bluetooth_write(char *buf);
static struct backlight_device *ibm_backlight_device; static struct backlight_device *ibm_backlight_device;
static int brightness_offset = 0x31; static int brightness_offset = 0x31;
static int brightness_mode; static int brightness_mode;
static unsigned int brightness_enable; /* 0 = no, 1 = yes, 2 = auto */
static int brightness_init(struct ibm_init_struct *iibm); static int brightness_init(struct ibm_init_struct *iibm);
static void brightness_exit(void); static void brightness_exit(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment