Merge branch 'for-6.4/core' into for-linus
authorJiri Kosina <jkosina@suse.cz>
Wed, 26 Apr 2023 20:54:24 +0000 (22:54 +0200)
committerJiri Kosina <jkosina@suse.cz>
Wed, 26 Apr 2023 20:54:24 +0000 (22:54 +0200)
- improve handling of generic "Digitizer" usage (Jason Gerecke)
- support for KEY_CAMERA_FOCUS (Feng Qi)

1  2 
drivers/hid/hid-ids.h
drivers/hid/hid-input.c

diff --combined drivers/hid/hid-ids.h
index c2e9b6d1fd7d3eda054e33cf73a47a3b1f4deea4,6e111cb19fb278730142543fcd405d0cb1d98496..8f3e0a5d5f834d441f8b5b59549044d7b892fee2
  #define I2C_DEVICE_ID_HP_SPECTRE_X360_15      0x2817
  #define I2C_DEVICE_ID_HP_SPECTRE_X360_13_AW0020NG  0x29DF
  #define I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN 0x2BC8
+ #define I2C_DEVICE_ID_ASUS_GV301RA_TOUCHSCREEN 0x2C82
  #define USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN        0x2544
  #define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN  0x2706
  #define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN  0x261A
  #define I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN 0x2A1C
  #define I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN    0x279F
 +#define I2C_DEVICE_ID_HP_SPECTRE_X360_13T_AW100       0x29F5
 +#define I2C_DEVICE_ID_HP_SPECTRE_X360_14T_EA100_V1    0x2BED
 +#define I2C_DEVICE_ID_HP_SPECTRE_X360_14T_EA100_V2    0x2BEE
  
  #define USB_VENDOR_ID_ELECOM          0x056e
  #define USB_DEVICE_ID_ELECOM_BM084    0x0061
  
  #define USB_VENDOR_ID_TOPRE                   0x0853
  #define USB_DEVICE_ID_TOPRE_REALFORCE_R2_108                  0x0148
 +#define USB_DEVICE_ID_TOPRE_REALFORCE_R2_87                   0x0146
  
  #define USB_VENDOR_ID_TOPSEED         0x0766
  #define USB_DEVICE_ID_TOPSEED_CYBERLINK       0x0204
diff --combined drivers/hid/hid-input.c
index 5c65a584b3fa00492112309e8b3454feec66e70e,7c193f804b2becc2ed40e01101f2aac6c8b10cc4..a1d2690a1a0deeea0d021e8b4d31ddb84de3b20b
@@@ -372,6 -372,8 +372,8 @@@ static const struct hid_device_id hid_b
          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),
          HID_BATTERY_QUIRK_IGNORE },
        { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN),
          HID_BATTERY_QUIRK_IGNORE },
 +      { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_13T_AW100),
 +        HID_BATTERY_QUIRK_IGNORE },
 +      { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_14T_EA100_V1),
 +        HID_BATTERY_QUIRK_IGNORE },
 +      { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_14T_EA100_V2),
 +        HID_BATTERY_QUIRK_IGNORE },
        {}
  };
  
@@@ -1267,6 -1263,16 +1269,16 @@@ static void hidinput_configure_usage(st
                        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);