Skip to content

Commit a94f66a

Browse files
jwrdegoedeJiri Kosina
authored andcommitted
HID: asus: Cleanup Asus T101HA keyboard-dock handling
There is no need to use a quirk and then return -ENODEV from the asus_probe() function to avoid that hid-asus binds to the hiddev for the USB-interface for the hid-multitouch touchpad. The hid-multitouch hiddev has a group of HID_GROUP_MULTITOUCH_WIN_8, so the same result can be achieved by making the hid_device_id entry for the dock in the asus_devices[] table only match on HID_GROUP_GENERIC instead of having it match HID_GROUP_ANY. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
1 parent 4b4f6ce commit a94f66a

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

drivers/hid/hid-asus.c

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,9 @@ MODULE_DESCRIPTION("Asus HID Keyboard and TouchPad");
7979
#define QUIRK_T100_KEYBOARD BIT(6)
8080
#define QUIRK_T100CHI BIT(7)
8181
#define QUIRK_G752_KEYBOARD BIT(8)
82-
#define QUIRK_T101HA_DOCK BIT(9)
83-
#define QUIRK_T90CHI BIT(10)
84-
#define QUIRK_MEDION_E1239T BIT(11)
85-
#define QUIRK_ROG_NKEY_KEYBOARD BIT(12)
82+
#define QUIRK_T90CHI BIT(9)
83+
#define QUIRK_MEDION_E1239T BIT(10)
84+
#define QUIRK_ROG_NKEY_KEYBOARD BIT(11)
8685

8786
#define I2C_KEYBOARD_QUIRKS (QUIRK_FIX_NOTEBOOK_REPORT | \
8887
QUIRK_NO_INIT_REPORTS | \
@@ -1082,11 +1081,6 @@ static int asus_probe(struct hid_device *hdev, const struct hid_device_id *id)
10821081
return ret;
10831082
}
10841083

1085-
/* use hid-multitouch for T101HA touchpad */
1086-
if (id->driver_data & QUIRK_T101HA_DOCK &&
1087-
hdev->collection->usage == HID_GD_MOUSE)
1088-
return -ENODEV;
1089-
10901084
ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
10911085
if (ret) {
10921086
hid_err(hdev, "Asus hw start failed: %d\n", ret);
@@ -1240,15 +1234,19 @@ static const struct hid_device_id asus_devices[] = {
12401234
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
12411235
USB_DEVICE_ID_ASUSTEK_T100TAF_KEYBOARD),
12421236
QUIRK_T100_KEYBOARD | QUIRK_NO_CONSUMER_USAGES },
1243-
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
1244-
USB_DEVICE_ID_ASUSTEK_T101HA_KEYBOARD), QUIRK_T101HA_DOCK },
12451237
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_ASUS_AK1D) },
12461238
{ HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_ASUS_MD_5110) },
12471239
{ HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_ASUS_MD_5112) },
12481240
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ASUSTEK,
12491241
USB_DEVICE_ID_ASUSTEK_T100CHI_KEYBOARD), QUIRK_T100CHI },
12501242
{ HID_USB_DEVICE(USB_VENDOR_ID_ITE, USB_DEVICE_ID_ITE_MEDION_E1239T),
12511243
QUIRK_MEDION_E1239T },
1244+
/*
1245+
* Note bind to the HID_GROUP_GENERIC group, so that we only bind to the keyboard
1246+
* part, while letting hid-multitouch.c handle the touchpad.
1247+
*/
1248+
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
1249+
USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_T101HA_KEYBOARD) },
12521250
{ }
12531251
};
12541252
MODULE_DEVICE_TABLE(hid, asus_devices);

0 commit comments

Comments
 (0)