forked from luck/tmp_suning_uos_patched
Merge back 'acpi-video' material for v3.18.
This commit is contained in:
commit
cbe68a2bd0
|
@ -411,12 +411,6 @@ static int __init video_set_bqc_offset(const struct dmi_system_id *d)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init video_set_use_native_backlight(const struct dmi_system_id *d)
|
|
||||||
{
|
|
||||||
use_native_backlight_dmi = true;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __init video_disable_native_backlight(const struct dmi_system_id *d)
|
static int __init video_disable_native_backlight(const struct dmi_system_id *d)
|
||||||
{
|
{
|
||||||
use_native_backlight_dmi = false;
|
use_native_backlight_dmi = false;
|
||||||
|
@ -467,265 +461,6 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad X230",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X230"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad T430 and T430s",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad T430",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "2349D15"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad T431s",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "20AACTO1WW"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad Edge E530",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "3259A2G"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad Edge E530",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "3259CTO"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad Edge E530",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "3259HJG"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad W530",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W530"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ThinkPad X1 Carbon",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X1 Carbon"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Lenovo Yoga 13",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo IdeaPad Yoga 13"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Lenovo Yoga 2 11",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 2 11"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Thinkpad Helix",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad Helix"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Dell Inspiron 7520",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 7520"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Acer Aspire 5733Z",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5733Z"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Acer Aspire 5742G",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5742G"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Acer Aspire V5-171",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "V5-171"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Acer Aspire V5-431",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire V5-431"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Acer Aspire V5-471G",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_BOARD_VENDOR, "Acer"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire V5-471G"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Acer TravelMate B113",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate B113"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Acer Aspire V5-572G",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer Aspire"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "V5-572G/Dazzle_CX"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "Acer Aspire V5-573G",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer Aspire"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "V5-573G/Dazzle_HW"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "ASUS Zenbook Prime UX31A",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "UX31A"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP ProBook 4340s",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "HP ProBook 4340s"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP ProBook 4540s",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_VERSION, "HP ProBook 4540s"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP ProBook 2013 models",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP ProBook "),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, " G1"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP EliteBook 2013 models",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook "),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, " G1"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP EliteBook 2014 models",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook "),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, " G2"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP ZBook 14",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP ZBook 14"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP ZBook 15",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP ZBook 15"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP ZBook 17",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP ZBook 17"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP EliteBook 8470p",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8470p"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.callback = video_set_use_native_backlight,
|
|
||||||
.ident = "HP EliteBook 8780w",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8780w"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These models have a working acpi_video backlight control, and using
|
* These models have a working acpi_video backlight control, and using
|
||||||
|
@ -1419,6 +1154,23 @@ acpi_video_device_bind(struct acpi_video_bus *video,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool acpi_video_device_in_dod(struct acpi_video_device *device)
|
||||||
|
{
|
||||||
|
struct acpi_video_bus *video = device->video;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* If we have a broken _DOD, no need to test */
|
||||||
|
if (!video->attached_count)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
for (i = 0; i < video->attached_count; i++) {
|
||||||
|
if (video->attached_array[i].bind_info == device)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Arg:
|
* Arg:
|
||||||
* video : video bus device
|
* video : video bus device
|
||||||
|
@ -1858,6 +1610,15 @@ static void acpi_video_dev_register_backlight(struct acpi_video_device *device)
|
||||||
static int count;
|
static int count;
|
||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Do not create backlight device for video output
|
||||||
|
* device that is not in the enumerated list.
|
||||||
|
*/
|
||||||
|
if (!acpi_video_device_in_dod(device)) {
|
||||||
|
dev_dbg(&device->dev->dev, "not in _DOD list, ignore\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
result = acpi_video_init_brightness(device);
|
result = acpi_video_init_brightness(device);
|
||||||
if (result)
|
if (result)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -174,6 +174,14 @@ static struct dmi_system_id video_detect_dmi_table[] = {
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 5737"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 5737"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.callback = video_detect_force_vendor,
|
||||||
|
.ident = "Lenovo IdeaPad Z570",
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_VERSION, "Ideapad Z570"),
|
||||||
|
},
|
||||||
|
},
|
||||||
{ },
|
{ },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user