146 lines
5.0 KiB
Diff
146 lines
5.0 KiB
Diff
diff --git i/drivers/hid/hid-quirks.c w/drivers/hid/hid-quirks.c
|
|
index f30faf09823c..2a8334e66db3 100644
|
|
--- i/drivers/hid/hid-quirks.c
|
|
+++ w/drivers/hid/hid-quirks.c
|
|
@@ -638,7 +638,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
|
#if IS_ENABLED(CONFIG_HID_SAMSUNG)
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) },
|
|
- { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_GAMEPAD) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_ACTIONMOUSE) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_BOOKCOVER) },
|
|
diff --git i/drivers/hid/hid-samsung.c w/drivers/hid/hid-samsung.c
|
|
index 75825e3dd26b..4e2ce1476981 100644
|
|
--- i/drivers/hid/hid-samsung.c
|
|
+++ w/drivers/hid/hid-samsung.c
|
|
@@ -130,110 +130,6 @@ static int samsung_kbd_mouse_input_mapping(struct hid_device *hdev,
|
|
return 1;
|
|
}
|
|
|
|
-static int samsung_kbd_input_mapping(struct hid_device *hdev,
|
|
- struct hid_input *hi, struct hid_field *field, struct hid_usage *usage,
|
|
- unsigned long **bit, int *max)
|
|
-{
|
|
- if (!(HID_UP_CONSUMER == (usage->hid & HID_USAGE_PAGE) ||
|
|
- HID_UP_KEYBOARD == (usage->hid & HID_USAGE_PAGE)))
|
|
- return 0;
|
|
-
|
|
- dbg_hid("samsung wireless keyboard input mapping event [0x%x]\n",
|
|
- usage->hid & HID_USAGE);
|
|
-
|
|
- if (HID_UP_KEYBOARD == (usage->hid & HID_USAGE_PAGE)) {
|
|
- switch (usage->hid & HID_USAGE) {
|
|
- set_bit(EV_REP, hi->input->evbit);
|
|
- /* Only for UK keyboard */
|
|
- /* key found */
|
|
-#ifdef CONFIG_HID_KK_UPGRADE
|
|
- case 0x32:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_KBDILLUMTOGGLE);
|
|
- break;
|
|
- case 0x64:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_BACKSLASH);
|
|
- break;
|
|
-#else
|
|
- case 0x32:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_BACKSLASH);
|
|
- break;
|
|
- case 0x64:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_102ND);
|
|
- break;
|
|
-#endif
|
|
- /* Only for BR keyboard */
|
|
- case 0x87:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_RO);
|
|
- break;
|
|
- default:
|
|
- return 0;
|
|
- }
|
|
- }
|
|
-
|
|
- if (HID_UP_CONSUMER == (usage->hid & HID_USAGE_PAGE)) {
|
|
- switch (usage->hid & HID_USAGE) {
|
|
- /* report 2 */
|
|
- /* MENU */
|
|
- case 0x040:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_MENU);
|
|
- break;
|
|
- case 0x18a:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_MAIL);
|
|
- break;
|
|
- case 0x196:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_WWW);
|
|
- break;
|
|
- case 0x19e:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_SCREENLOCK);
|
|
- break;
|
|
- case 0x221:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_SEARCH);
|
|
- break;
|
|
- case 0x223:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_HOMEPAGE);
|
|
- break;
|
|
- /* Smtart Voice Key */
|
|
- case 0x300:
|
|
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY13);
|
|
- break;
|
|
- /* RECENTAPPS */
|
|
- case 0x301:
|
|
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY1);
|
|
- break;
|
|
- /* APPLICATION */
|
|
- case 0x302:
|
|
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY2);
|
|
- break;
|
|
- /* Voice search */
|
|
- case 0x305:
|
|
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY4);
|
|
- break;
|
|
- /* QPANEL on/off */
|
|
- case 0x306:
|
|
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY5);
|
|
- break;
|
|
- /* SIP on/off */
|
|
- case 0x307:
|
|
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY3);
|
|
- break;
|
|
- /* LANG */
|
|
- case 0x308:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_LANGUAGE);
|
|
- break;
|
|
- case 0x30a:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_BRIGHTNESSDOWN);
|
|
- break;
|
|
- case 0x30b:
|
|
- samsung_kbd_mouse_map_key_clear(KEY_BRIGHTNESSUP);
|
|
- break;
|
|
- default:
|
|
- return 0;
|
|
- }
|
|
- }
|
|
-
|
|
- return 1;
|
|
-}
|
|
-
|
|
static int samsung_gamepad_input_mapping(struct hid_device *hdev,
|
|
struct hid_input *hi, struct hid_field *field, struct hid_usage *usage,
|
|
unsigned long **bit, int *max)
|
|
@@ -499,9 +395,6 @@ static int samsung_input_mapping(struct hid_device *hdev, struct hid_input *hi,
|
|
if (USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE == hdev->product)
|
|
ret = samsung_kbd_mouse_input_mapping(hdev,
|
|
hi, field, usage, bit, max);
|
|
- else if (hdev->product == USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD)
|
|
- ret = samsung_kbd_input_mapping(hdev,
|
|
- hi, field, usage, bit, max);
|
|
else if (hdev->product == USB_DEVICE_ID_SAMSUNG_WIRELESS_GAMEPAD)
|
|
ret = samsung_gamepad_input_mapping(hdev,
|
|
hi, field, usage, bit, max);
|
|
@@ -555,7 +448,6 @@ static int samsung_probe(struct hid_device *hdev,
|
|
static const struct hid_device_id samsung_devices[] = {
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) },
|
|
- { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_GAMEPAD) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_ACTIONMOUSE) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_UNIVERSAL_KBD) },
|