From: Len Brown <lenb@kernel.org>
To: linux-acpi@vger.kernel.org
Cc: Matthew Garrett <mjg@redhat.com>, Len Brown <len.brown@intel.com>
Subject: [PATCH 08/12] ACPI: Don't send KEY_UNKNOWN for random video notifications
Date: Tue, 06 Apr 2010 03:06:19 -0400 [thread overview]
Message-ID: <17c452f99cf5e073b219a069a419b7b8ab3cfa97.1270537380.git.len.brown@intel.com> (raw)
In-Reply-To: <1270537583-8756-1-git-send-email-lenb@kernel.org>
In-Reply-To: <dadf28a10c3eb29421837a2e413ab869ebd9e168.1270537380.git.len.brown@intel.com>
From: Matthew Garrett <mjg@redhat.com>
I have a machine here that's sending 0xD1 notifications on the video
device once every second or so. I have no idea why (it's a prototype,
it may be broken), but sending KEY_UNKNOWN is unhelpful and results in
the console becoming unusable. Let's not report keys unless we have
something useful to say about them.
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/video.c | 29 ++++++++++++++++-------------
1 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index cbe6f39..2c7ca7a 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -2122,7 +2122,7 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event)
{
struct acpi_video_bus *video = acpi_driver_data(device);
struct input_dev *input;
- int keycode;
+ int keycode = 0;
if (!video)
return;
@@ -2158,17 +2158,19 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event)
break;
default:
- keycode = KEY_UNKNOWN;
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Unsupported event [0x%x]\n", event));
break;
}
acpi_notifier_call_chain(device, event, 0);
- input_report_key(input, keycode, 1);
- input_sync(input);
- input_report_key(input, keycode, 0);
- input_sync(input);
+
+ if (keycode) {
+ input_report_key(input, keycode, 1);
+ input_sync(input);
+ input_report_key(input, keycode, 0);
+ input_sync(input);
+ }
return;
}
@@ -2179,7 +2181,7 @@ static void acpi_video_device_notify(acpi_handle handle, u32 event, void *data)
struct acpi_device *device = NULL;
struct acpi_video_bus *bus;
struct input_dev *input;
- int keycode;
+ int keycode = 0;
if (!video_device)
return;
@@ -2220,17 +2222,19 @@ static void acpi_video_device_notify(acpi_handle handle, u32 event, void *data)
keycode = KEY_DISPLAY_OFF;
break;
default:
- keycode = KEY_UNKNOWN;
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Unsupported event [0x%x]\n", event));
break;
}
acpi_notifier_call_chain(device, event, 0);
- input_report_key(input, keycode, 1);
- input_sync(input);
- input_report_key(input, keycode, 0);
- input_sync(input);
+
+ if (keycode) {
+ input_report_key(input, keycode, 1);
+ input_sync(input);
+ input_report_key(input, keycode, 0);
+ input_sync(input);
+ }
return;
}
@@ -2357,7 +2361,6 @@ static int acpi_video_bus_add(struct acpi_device *device)
set_bit(KEY_BRIGHTNESSDOWN, input->keybit);
set_bit(KEY_BRIGHTNESS_ZERO, input->keybit);
set_bit(KEY_DISPLAY_OFF, input->keybit);
- set_bit(KEY_UNKNOWN, input->keybit);
error = input_register_device(input);
if (error)
--
1.6.0.6
next prev parent reply other threads:[~2010-04-06 7:06 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-06 7:06 ACPI patches for 2.6.34-rc3 Len Brown
2010-04-06 7:06 ` [PATCH 01/12] ACPI: EC: Allow multibyte access to EC Len Brown
2010-04-06 7:06 ` [PATCH 02/12] ACPI / PM: Move ACPI video resume to a PM notifier Len Brown
2010-04-06 18:55 ` Rafael J. Wysocki
2010-04-06 21:07 ` Len Brown
2010-04-06 7:06 ` [PATCH 03/12] ACPI dock: support multiple ACPI dock devices Len Brown
2010-04-06 7:06 ` [PATCH 04/12] ACPI: fixes a false alarm from lockdep Len Brown
2010-04-06 7:06 ` [PATCH 05/12] ACPI / ACPICA: Do not check reference counters in acpi_ev_enable_gpe() Len Brown
2010-04-06 7:06 ` [PATCH 06/12] ACPI: use _HID when supplied by root-level devices Len Brown
2010-04-06 7:06 ` [PATCH 07/12] ACPI: NUMA: map pxms to low node ids Len Brown
2010-04-06 7:06 ` Len Brown [this message]
2010-04-06 7:06 ` [PATCH 09/12] PNPACPI: truncate _CRS windows with _LEN > _MAX - _MIN + 1 Len Brown
2010-04-06 7:06 ` [PATCH 10/12] ACPI: battery: Fix CONFIG_ACPI_SYSFS_POWER=n Len Brown
2010-04-06 7:06 ` [PATCH 11/12] ACPI: battery drivers should call power_supply_changed() Len Brown
2010-04-06 7:06 ` [PATCH 12/12] ACPI: Reduce ACPI resource conflict message to KERN_WARNING, printk cleanup Len Brown
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=17c452f99cf5e073b219a069a419b7b8ab3cfa97.1270537380.git.len.brown@intel.com \
--to=lenb@kernel.org \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=mjg@redhat.com \
/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