summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/toshiba_acpi.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-03-03 07:41:24 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-03 07:41:24 -0800
commitb037bba71bca77c7247e7c2079f227ad7b961c34 (patch)
tree459896135ace66b9e690067e573e5da25b1df24d /drivers/platform/x86/toshiba_acpi.c
parenta03696e912cd544e1504a79e49600cdb535f42db (diff)
parent51c1410bd651609aafbcc3a2294df26a47bf6137 (diff)
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (45 commits) compal-laptop: Make it depend on CONFIG_RFKILL classmate-laptop: Added some keys present in other devices MAINTAINERS: Add git tree to x86 Platform Drivers asus-acpi: remove duplicate comparison of asus_model strings toshiba-acpi: fix multimedia keys on some machines dell-laptop: Fix errors on failure and exit paths dell-laptop: Fix build error by making buffer_mutex static asus-laptop: fix style problems reported by checkpath.pl asus-laptop: use device_create_file() instead of platform_group asus-laptop: clean led code asus-laptop: add gps rfkill asus-laptop: set initial lcd state asus-laptop: leds, remove dead code and fix asus_led_exit()/asus_led_init() asus-laptop: add backlight changes notifications asus-laptop: add bluetooth keys found on M9V asus-laptop: switch to sparse keymap library asus-laptop: rename wireless_status to wlan_status to avoid confusion asus-laptop: add error check for write_acpi_int calls asus-laptop: stop using ASUS_HANDLE and use relative methods instead asus-laptop: rename function talking directly to acpi with asus_xxx scheme ...
Diffstat (limited to 'drivers/platform/x86/toshiba_acpi.c')
-rw-r--r--drivers/platform/x86/toshiba_acpi.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c
index 26c211724acf..405b969734d6 100644
--- a/drivers/platform/x86/toshiba_acpi.c
+++ b/drivers/platform/x86/toshiba_acpi.c
@@ -814,21 +814,23 @@ static void toshiba_acpi_notify(acpi_handle handle, u32 event, void *context)
if (hci_result == HCI_SUCCESS) {
if (value == 0x100)
continue;
- else if (value & 0x80) {
- key = toshiba_acpi_get_entry_by_scancode
- (value & ~0x80);
- if (!key) {
- printk(MY_INFO "Unknown key %x\n",
- value & ~0x80);
- continue;
- }
- input_report_key(toshiba_acpi.hotkey_dev,
- key->keycode, 1);
- input_sync(toshiba_acpi.hotkey_dev);
- input_report_key(toshiba_acpi.hotkey_dev,
- key->keycode, 0);
- input_sync(toshiba_acpi.hotkey_dev);
+ /* act on key press; ignore key release */
+ if (value & 0x80)
+ continue;
+
+ key = toshiba_acpi_get_entry_by_scancode
+ (value);
+ if (!key) {
+ printk(MY_INFO "Unknown key %x\n",
+ value);
+ continue;
}
+ input_report_key(toshiba_acpi.hotkey_dev,
+ key->keycode, 1);
+ input_sync(toshiba_acpi.hotkey_dev);
+ input_report_key(toshiba_acpi.hotkey_dev,
+ key->keycode, 0);
+ input_sync(toshiba_acpi.hotkey_dev);
} else if (hci_result == HCI_NOT_SUPPORTED) {
/* This is a workaround for an unresolved issue on
* some machines where system events sporadically