diff options
author | AceLan Kao <acelan.kao@canonical.com> | 2012-03-20 09:53:09 +0100 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2012-03-26 15:05:43 -0400 |
commit | 6e0044bedc1fc94a61cc32fa25dcab9a4e4a9218 (patch) | |
tree | c3f6c0ee73a93f7ae8bb9fdfd448c189d0250511 /drivers/platform/x86/asus-wmi.h | |
parent | c87992d1fa51a6a3d8f0e980ca4d2bdec7e78a17 (diff) |
asus-wmi: store backlight power status for AIO machine
Due to some implementation reasons, ASUS ET2012 All-in-One machines
can't report the correct backlight power status, it will always return
1. To track the backlight power status correctly, we have to store the
status by ourselves.
BTW, by the BIOS design, the backlight power will be turn on/off
sequently, no matter what the value of the parameter will be.
More over, the brightness adjustment command will turn on the backlight
power. Those behaviors will make us fail to track the backlight power
status.
For example, While we are trying to turn on the backlight power,
we will send out the brightness adjustment command and then trying to
figure out if we have to turn on the backlight power, then send out
the command. But, the real case is that, the backlight power turns on
while sending the brightness adjustment command, and then we send out
the command to turn on the backlight power, it actually will turn off
the backlight power and the backlight power status we recorded becomes
wrong. So, we have to seperate these two commands by a if statement.
Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'drivers/platform/x86/asus-wmi.h')
-rw-r--r-- | drivers/platform/x86/asus-wmi.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h index ac7dd4eaebd0..35003e4f1316 100644 --- a/drivers/platform/x86/asus-wmi.h +++ b/drivers/platform/x86/asus-wmi.h @@ -38,11 +38,13 @@ struct asus_wmi; struct quirk_entry { bool hotplug_wireless; bool scalar_panel_brightness; + bool store_backlight_power; }; struct asus_wmi_driver { int wapf; int brightness; + int panel_power; const char *name; struct module *owner; |