From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
To: mjg@redhat.com, rjw@sisk.pl
Cc: platform-driver-x86@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org, "Lee, Chun-Yi" <jlee@suse.com>,
Carlos Corbacho <carlos@strangeworlds.co.uk>,
Dmitry Torokhov <dtor@mail.ru>,
Corentin Chary <corentincj@iksaif.net>,
Aaron Lu <aaron.lu@intel.com>, Thomas Renninger <trenn@suse.de>
Subject: [PATCH 2/2 v2] acer-wmi: add Acer Aspire 5750G to video vendor list but keep acpi video driver
Date: Mon, 13 May 2013 15:43:57 +0800 [thread overview]
Message-ID: <1368431037-21105-2-git-send-email-jlee@suse.com> (raw)
In-Reply-To: <1368431037-21105-1-git-send-email-jlee@suse.com>
After Andrzej's testing, we found the acpi backlight methods broken on Acer
Aspire 5750G but the i915 backlight control works when we set to vendor mode.
And, we still want to keep the acpi/video driver for transfer acpi event to key
event but not unregister whole acpi/video driver.
This patch introduced a new capability flag is ACER_CAP_KEEP_VIDEO_KEY, it
indicates the machine works fine with acpi/video driver for key event but want
to unregister the backlight interface of acpi/video.
Reference: bko#35622
https://bugzilla.kernel.org/show_bug.cgi?id=35622
v2: changed the information statement of keeping acpi video driver.
Tested-by: Andrzej Krentosz <endrjux@gmail.com>
Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Aaron Lu <aaron.lu@intel.com>
Cc: Thomas Renninger <trenn@suse.de>
Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
---
drivers/platform/x86/acer-wmi.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index c9076bd..a81c9ed 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -207,6 +207,7 @@ struct hotkey_function_type_aa {
#define ACER_CAP_BRIGHTNESS (1<<3)
#define ACER_CAP_THREEG (1<<4)
#define ACER_CAP_ACCEL (1<<5)
+#define ACER_CAP_KEEP_VIDEO_KEY (1<<6)
#define ACER_CAP_ANY (0xFFFFFFFF)
/*
@@ -539,6 +540,15 @@ static int video_set_backlight_video_vendor(const struct dmi_system_id *d)
return 0;
}
+static int video_set_backlight_video_vendor_keep_acpi_video(
+ const struct dmi_system_id *d)
+{
+ video_set_backlight_video_vendor(d);
+ interface->capability |= ACER_CAP_KEEP_VIDEO_KEY;
+ pr_info("Keeping acpi video driver active to emit backlight brightness change key events\n");
+ return 0;
+}
+
static const struct dmi_system_id video_vendor_dmi_table[] = {
{
.callback = video_set_backlight_video_vendor,
@@ -572,6 +582,14 @@ static const struct dmi_system_id video_vendor_dmi_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5750"),
},
},
+ {
+ .callback = video_set_backlight_video_vendor_keep_acpi_video,
+ .ident = "Acer Aspire 5750G",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Acer"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5750G"),
+ },
+ },
{}
};
@@ -2228,6 +2246,8 @@ static int __init acer_wmi_init(void)
if (acpi_video_backlight_support()) {
interface->capability &= ~ACER_CAP_BRIGHTNESS;
pr_info("Brightness must be controlled by acpi video driver\n");
+ } else if (interface->capability & ACER_CAP_KEEP_VIDEO_KEY) {
+ acpi_video_backlight_unregister();
} else {
pr_info("Disabling ACPI video driver\n");
acpi_video_unregister();
--
1.6.4.2
prev parent reply other threads:[~2013-05-13 7:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-13 7:43 [PATCH 1/2 v2] acpi: video: add function to support unregister backlight interface Lee, Chun-Yi
2013-05-13 7:43 ` Lee, Chun-Yi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1368431037-21105-2-git-send-email-jlee@suse.com \
--to=joeyli.kernel@gmail.com \
--cc=aaron.lu@intel.com \
--cc=carlos@strangeworlds.co.uk \
--cc=corentincj@iksaif.net \
--cc=dtor@mail.ru \
--cc=jlee@suse.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg@redhat.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=trenn@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).