platform/x86: asus-wmi: fix asus ux303ub brightness issue
acpi_video0 doesn't work, asus-wmi brightness interface doesn't work, too. So, we use native brightness interface to handle the brightness adjustion, and add quirk_asus_ux303ub. Signed-off-by: zino lin <linzino7@gmail.com> Acked-by: Corentin Chary <corentin.chary@gmail.com> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
This commit is contained in:
parent
fa1bc2a09f
commit
999d4376c6
|
@ -87,6 +87,10 @@ static struct quirk_entry quirk_no_rfkill_wapf4 = {
|
|||
.no_rfkill = true,
|
||||
};
|
||||
|
||||
static struct quirk_entry quirk_asus_ux303ub = {
|
||||
.wmi_backlight_native = true,
|
||||
};
|
||||
|
||||
static int dmi_matched(const struct dmi_system_id *dmi)
|
||||
{
|
||||
quirks = dmi->driver_data;
|
||||
|
@ -351,6 +355,15 @@ static const struct dmi_system_id asus_quirks[] = {
|
|||
},
|
||||
.driver_data = &quirk_no_rfkill,
|
||||
},
|
||||
{
|
||||
.callback = dmi_matched,
|
||||
.ident = "ASUSTeK COMPUTER INC. UX303UB",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "UX303UB"),
|
||||
},
|
||||
.driver_data = &quirk_asus_ux303ub,
|
||||
},
|
||||
{},
|
||||
};
|
||||
|
||||
|
|
|
@ -2084,6 +2084,9 @@ static int asus_wmi_add(struct platform_device *pdev)
|
|||
if (asus->driver->quirks->wmi_backlight_power)
|
||||
acpi_video_set_dmi_backlight_type(acpi_backlight_vendor);
|
||||
|
||||
if (asus->driver->quirks->wmi_backlight_native)
|
||||
acpi_video_set_dmi_backlight_type(acpi_backlight_native);
|
||||
|
||||
if (acpi_video_get_backlight_type() == acpi_backlight_vendor) {
|
||||
err = asus_wmi_backlight_init(asus);
|
||||
if (err && err != -ENODEV)
|
||||
|
|
|
@ -43,6 +43,7 @@ struct quirk_entry {
|
|||
bool scalar_panel_brightness;
|
||||
bool store_backlight_power;
|
||||
bool wmi_backlight_power;
|
||||
bool wmi_backlight_native;
|
||||
int wapf;
|
||||
/*
|
||||
* For machines with AMD graphic chips, it will send out WMI event
|
||||
|
|
Loading…
Reference in New Issue