thinkpad-acpi: untangle ACPI/vendor backlight selection
acpi_video_backlight_support() already tells us if ACPI is handling backlight control through the generic ACPI handle. It is better to just trust it. While at it, adjust down a printk priority, and test earlier for brightness_enable=0. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Matthew Garrett <mjg@redhat.com>
This commit is contained in:
parent
122f26726b
commit
217f09631a
2 changed files with 24 additions and 22 deletions
|
@ -1024,6 +1024,10 @@ ThinkPad-specific interface. The driver will disable its native
|
|||
backlight brightness control interface if it detects that the standard
|
||||
ACPI interface is available in the ThinkPad.
|
||||
|
||||
If you want to use the thinkpad-acpi backlight brightness control
|
||||
instead of the generic ACPI video backlight brightness control for some
|
||||
reason, you should use the acpi_backlight=vendor kernel parameter.
|
||||
|
||||
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. brightness_enable=1
|
||||
|
|
|
@ -6216,28 +6216,6 @@ static int __init brightness_init(struct ibm_init_struct *iibm)
|
|||
if (tp_features.bright_unkfw)
|
||||
return 1;
|
||||
|
||||
if (tp_features.bright_acpimode) {
|
||||
if (acpi_video_backlight_support()) {
|
||||
if (brightness_enable > 1) {
|
||||
printk(TPACPI_NOTICE
|
||||
"Standard ACPI backlight interface "
|
||||
"available, not loading native one.\n");
|
||||
return 1;
|
||||
} else if (brightness_enable == 1) {
|
||||
printk(TPACPI_NOTICE
|
||||
"Backlight control force enabled, even if standard "
|
||||
"ACPI backlight interface is available\n");
|
||||
}
|
||||
} else {
|
||||
if (brightness_enable > 1) {
|
||||
printk(TPACPI_NOTICE
|
||||
"Standard ACPI backlight interface not "
|
||||
"available, thinkpad_acpi native "
|
||||
"brightness control enabled\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!brightness_enable) {
|
||||
dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_BRGHT,
|
||||
"brightness support disabled by "
|
||||
|
@ -6245,6 +6223,26 @@ static int __init brightness_init(struct ibm_init_struct *iibm)
|
|||
return 1;
|
||||
}
|
||||
|
||||
if (acpi_video_backlight_support()) {
|
||||
if (brightness_enable > 1) {
|
||||
printk(TPACPI_INFO
|
||||
"Standard ACPI backlight interface "
|
||||
"available, not loading native one.\n");
|
||||
return 1;
|
||||
} else if (brightness_enable == 1) {
|
||||
printk(TPACPI_WARN
|
||||
"Cannot enable backlight brightness support, "
|
||||
"ACPI is already handling it. Refer to the "
|
||||
"acpi_backlight kernel parameter\n");
|
||||
return 1;
|
||||
}
|
||||
} else if (tp_features.bright_acpimode && brightness_enable > 1) {
|
||||
printk(TPACPI_NOTICE
|
||||
"Standard ACPI backlight interface not "
|
||||
"available, thinkpad_acpi native "
|
||||
"brightness control enabled\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Check for module parameter bogosity, note that we
|
||||
* init brightness_mode to TPACPI_BRGHT_MODE_MAX in order to be
|
||||
|
|
Loading…
Reference in a new issue