mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-05 19:31:57 -04:00
HID: asus: Only set EV_REP if we are adding a mapping
[ Upstream commit 4e4c60f826772dfeaacdf718f64afa38f46b6875 ]
Make asus_input_mapping() only set EV_REP if we are adding a mapping.
The T100CHI bluetooth keyboard dock has a few input reports for which
we do not create any mappings (these input-reports are present in the
descriptors but never send).
The hid-asus code relies on the HID core not creating input devices for
input-reports without any mappings. But the present of the EV_REP but
counts as a mapping causing 6 /dev/input/event# nodes to be created for
the T100CHI bluetooth keyboard dock. This change brings the amount of
created /dev/input/event# nodes / input-devices down to 4.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Stable-dep-of: 4ab3a086d10e ("HID: asus: use spinlock to safely schedule workers")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
25e14bf0c8
commit
63792d0ae9
1 changed files with 2 additions and 2 deletions
|
|
@ -714,7 +714,6 @@ static int asus_input_mapping(struct hid_device *hdev,
|
|||
|
||||
/* ASUS-specific keyboard hotkeys */
|
||||
if ((usage->hid & HID_USAGE_PAGE) == 0xff310000) {
|
||||
set_bit(EV_REP, hi->input->evbit);
|
||||
switch (usage->hid & HID_USAGE) {
|
||||
case 0x10: asus_map_key_clear(KEY_BRIGHTNESSDOWN); break;
|
||||
case 0x20: asus_map_key_clear(KEY_BRIGHTNESSUP); break;
|
||||
|
|
@ -757,11 +756,11 @@ static int asus_input_mapping(struct hid_device *hdev,
|
|||
if (drvdata->quirks & QUIRK_USE_KBD_BACKLIGHT)
|
||||
drvdata->enable_backlight = true;
|
||||
|
||||
set_bit(EV_REP, hi->input->evbit);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((usage->hid & HID_USAGE_PAGE) == HID_UP_MSVENDOR) {
|
||||
set_bit(EV_REP, hi->input->evbit);
|
||||
switch (usage->hid & HID_USAGE) {
|
||||
case 0xff01: asus_map_key_clear(BTN_1); break;
|
||||
case 0xff02: asus_map_key_clear(BTN_2); break;
|
||||
|
|
@ -784,6 +783,7 @@ static int asus_input_mapping(struct hid_device *hdev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
set_bit(EV_REP, hi->input->evbit);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue