Merge branch 'for-6.4/core' into for-linus
[linux-block.git] / drivers / hid / hid-input.c
index 5c65a584b3fa00492112309e8b3454feec66e70e..a1d2690a1a0deeea0d021e8b4d31ddb84de3b20b 100644 (file)
@@ -372,6 +372,8 @@ static const struct hid_device_id hid_battery_quirks[] = {
          HID_BATTERY_QUIRK_IGNORE },
        { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN),
          HID_BATTERY_QUIRK_IGNORE },
+       { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_GV301RA_TOUCHSCREEN),
+         HID_BATTERY_QUIRK_IGNORE },
        { HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN),
          HID_BATTERY_QUIRK_IGNORE },
        { HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN),
@@ -1267,6 +1269,16 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
                        return;
                }
                goto unknown;
+       case HID_UP_CAMERA:
+               switch (usage->hid & HID_USAGE) {
+               case 0x020:
+                       map_key_clear(KEY_CAMERA_FOCUS);        break;
+               case 0x021:
+                       map_key_clear(KEY_CAMERA);              break;
+               default:
+                       goto ignore;
+               }
+               break;
 
        case HID_UP_HPVENDOR:   /* Reported on a Dutch layout HP5308 */
                set_bit(EV_REP, input->evbit);