On Sun, Aug 28, 2016 at 7:34 PM, Darren Hart <dvhart@xxxxxxxxxxxxx> wrote: > On Sun, Aug 28, 2016 at 04:12:06PM +0800, Zino Lin wrote: >> From: zino lin <linzino7@xxxxxxxxx> >> >> 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. > > Thanks Zino, > > +Rafael in case he has an opinion wrt to the acpi_video bit. > > Looking for an Ack from Corentin, but otherwise this looks fine to me. > >> >> Signed-off-by: zino lin <linzino7@xxxxxxxxx> >> --- >> drivers/platform/x86/asus-nb-wmi.c | 13 +++++++++++++ >> drivers/platform/x86/asus-wmi.c | 3 +++ >> drivers/platform/x86/asus-wmi.h | 1 + >> 3 files changed, 17 insertions(+) >> >> diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c >> index adecc1c..456ad8e 100644 >> --- a/drivers/platform/x86/asus-nb-wmi.c >> +++ b/drivers/platform/x86/asus-nb-wmi.c >> @@ -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, >> + }, >> {}, >> }; >> >> diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c >> index 7c093a0..ce6ca31 100644 >> --- a/drivers/platform/x86/asus-wmi.c >> +++ b/drivers/platform/x86/asus-wmi.c >> @@ -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) >> diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h >> index 5de1df5..5e22041 100644 >> --- a/drivers/platform/x86/asus-wmi.h >> +++ b/drivers/platform/x86/asus-wmi.h >> @@ -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 >> -- >> 2.7.4 >> >> > > -- > Darren Hart > Intel Open Source Technology Center Acked-by: Corentin Chary <corentin.chary@xxxxxxxxx> -- Corentin Chary http://xf.iksaif.net -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html