platform/x86: asus-wmi: fix asus ux303ub brightness issue
[ Upstream commit 999d4376c62828b260fbb59d5ab6bc28918ca448 ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
ad1a346d3f
commit
b124d2ae88
3 changed files with 17 additions and 0 deletions
|
@ -112,6 +112,10 @@ static struct quirk_entry quirk_no_rfkill_wapf4 = {
|
||||||
.no_rfkill = true,
|
.no_rfkill = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct quirk_entry quirk_asus_ux303ub = {
|
||||||
|
.wmi_backlight_native = true,
|
||||||
|
};
|
||||||
|
|
||||||
static int dmi_matched(const struct dmi_system_id *dmi)
|
static int dmi_matched(const struct dmi_system_id *dmi)
|
||||||
{
|
{
|
||||||
quirks = dmi->driver_data;
|
quirks = dmi->driver_data;
|
||||||
|
@ -394,6 +398,15 @@ static const struct dmi_system_id asus_quirks[] = {
|
||||||
},
|
},
|
||||||
.driver_data = &quirk_no_rfkill,
|
.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,
|
||||||
|
},
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2082,6 +2082,9 @@ static int asus_wmi_add(struct platform_device *pdev)
|
||||||
if (asus->driver->quirks->wmi_backlight_power)
|
if (asus->driver->quirks->wmi_backlight_power)
|
||||||
acpi_video_set_dmi_backlight_type(acpi_backlight_vendor);
|
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) {
|
if (acpi_video_get_backlight_type() == acpi_backlight_vendor) {
|
||||||
err = asus_wmi_backlight_init(asus);
|
err = asus_wmi_backlight_init(asus);
|
||||||
if (err && err != -ENODEV)
|
if (err && err != -ENODEV)
|
||||||
|
|
|
@ -44,6 +44,7 @@ struct quirk_entry {
|
||||||
bool scalar_panel_brightness;
|
bool scalar_panel_brightness;
|
||||||
bool store_backlight_power;
|
bool store_backlight_power;
|
||||||
bool wmi_backlight_power;
|
bool wmi_backlight_power;
|
||||||
|
bool wmi_backlight_native;
|
||||||
int wapf;
|
int wapf;
|
||||||
/*
|
/*
|
||||||
* For machines with AMD graphic chips, it will send out WMI event
|
* For machines with AMD graphic chips, it will send out WMI event
|
||||||
|
|
Loading…
Add table
Reference in a new issue