There have some acer laptop have broken _BCM implemenation, the AML code write value to EC register but firmware didn't change brighenss. But, the brightness control works on those machines with vendor mode. So, add quirk table for video backlight vendor mode. Tested on Acer Aspire 4736 Tested on Acer TravelMate 4750 Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Thomas Renninger <trenn@xxxxxxx> Cc: Matthew Garrett <mjg@xxxxxxxxxx> Tested-by: Pradeep Subrahmanion <subrahmanion.pradeep@xxxxxxxxx> Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> --- drivers/acpi/video_detect.c | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c index f3f0fe7..acb15d6 100644 --- a/drivers/acpi/video_detect.c +++ b/drivers/acpi/video_detect.c @@ -132,6 +132,32 @@ find_video(acpi_handle handle, u32 lvl, void *context, void **rv) return AE_OK; } +static int video_set_backlight_vendor(const struct dmi_system_id *d) +{ + acpi_video_support |= ACPI_VIDEO_BACKLIGHT_DMI_VENDOR; + return 0; +} + +static const struct dmi_system_id video_vendor_dmi_table[] = { + { + .callback = video_set_backlight_vendor, + .ident = "Acer Aspire 4736", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 4736"), + }, + }, + { + .callback = video_set_backlight_vendor, + .ident = "Acer TravelMate 4750", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4750"), + }, + }, + {} +}; + /* * Returns the video capabilities of a specific ACPI graphics device * @@ -164,6 +190,7 @@ long acpi_video_get_capabilities(acpi_handle graphics_handle) * ACPI_VIDEO_BACKLIGHT_DMI_VENDOR; *} */ + dmi_check_system(video_vendor_dmi_table); } else { status = acpi_bus_get_device(graphics_handle, &tmp_dev); if (ACPI_FAILURE(status)) { -- 1.7.7 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html