Skip to content

Commit c9ce596

Browse files
author
Benjamin Tissoires
committed
Merge branch 'for-6.12/elan' into for-linus
- Add support for one new Elan device (ekth6a12nay) (Zhaoxiong Lv)
2 parents 54ab927 + d06651b commit c9ce596

File tree

4 files changed

+16
-49
lines changed

4 files changed

+16
-49
lines changed

Documentation/devicetree/bindings/input/elan,ekth6915.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ properties:
2323
- enum:
2424
- elan,ekth5015m
2525
- const: elan,ekth6915
26-
- const: elan,ekth6915
26+
- enum:
27+
- elan,ekth6915
28+
- elan,ekth6a12nay
2729

2830
reg:
2931
const: 0x10

drivers/hid/hid-ids.h

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -417,24 +417,8 @@
417417
#define USB_DEVICE_ID_TOSHIBA_CLICK_L9W 0x0401
418418
#define USB_DEVICE_ID_HP_X2 0x074d
419419
#define USB_DEVICE_ID_HP_X2_10_COVER 0x0755
420-
#define I2C_DEVICE_ID_HP_ENVY_X360_15 0x2d05
421-
#define I2C_DEVICE_ID_HP_ENVY_X360_15T_DR100 0x29CF
422-
#define I2C_DEVICE_ID_HP_ENVY_X360_EU0009NV 0x2CF9
423-
#define I2C_DEVICE_ID_HP_SPECTRE_X360_15 0x2817
424-
#define I2C_DEVICE_ID_HP_SPECTRE_X360_13_AW0020NG 0x29DF
425-
#define I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN 0x2BC8
426-
#define I2C_DEVICE_ID_ASUS_GV301RA_TOUCHSCREEN 0x2C82
427-
#define I2C_DEVICE_ID_ASUS_UX3402_TOUCHSCREEN 0x2F2C
428-
#define I2C_DEVICE_ID_ASUS_UX6404_TOUCHSCREEN 0x4116
429420
#define USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN 0x2544
430421
#define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN 0x2706
431-
#define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN 0x261A
432-
#define I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN 0x2A1C
433-
#define I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN 0x279F
434-
#define I2C_DEVICE_ID_HP_SPECTRE_X360_13T_AW100 0x29F5
435-
#define I2C_DEVICE_ID_HP_SPECTRE_X360_14T_EA100_V1 0x2BED
436-
#define I2C_DEVICE_ID_HP_SPECTRE_X360_14T_EA100_V2 0x2BEE
437-
#define I2C_DEVICE_ID_HP_ENVY_X360_15_EU0556NG 0x2D02
438422
#define I2C_DEVICE_ID_CHROMEBOOK_TROGDOR_POMPOM 0x2F81
439423

440424
#define USB_VENDOR_ID_ELECOM 0x056e

drivers/hid/hid-input.c

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -373,14 +373,6 @@ static const struct hid_device_id hid_battery_quirks[] = {
373373
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH,
374374
USB_DEVICE_ID_LOGITECH_DINOVO_EDGE_KBD),
375375
HID_BATTERY_QUIRK_IGNORE },
376-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN),
377-
HID_BATTERY_QUIRK_IGNORE },
378-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_GV301RA_TOUCHSCREEN),
379-
HID_BATTERY_QUIRK_IGNORE },
380-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_UX3402_TOUCHSCREEN),
381-
HID_BATTERY_QUIRK_IGNORE },
382-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_UX6404_TOUCHSCREEN),
383-
HID_BATTERY_QUIRK_IGNORE },
384376
{ HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN),
385377
HID_BATTERY_QUIRK_IGNORE },
386378
{ HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN),
@@ -391,32 +383,13 @@ static const struct hid_device_id hid_battery_quirks[] = {
391383
HID_BATTERY_QUIRK_AVOID_QUERY },
392384
{ HID_USB_DEVICE(USB_VENDOR_ID_UGEE, USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_SW),
393385
HID_BATTERY_QUIRK_AVOID_QUERY },
394-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_ENVY_X360_15),
395-
HID_BATTERY_QUIRK_IGNORE },
396-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_ENVY_X360_15T_DR100),
397-
HID_BATTERY_QUIRK_IGNORE },
398-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_ENVY_X360_EU0009NV),
399-
HID_BATTERY_QUIRK_IGNORE },
400-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_15),
401-
HID_BATTERY_QUIRK_IGNORE },
402-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_13_AW0020NG),
403-
HID_BATTERY_QUIRK_IGNORE },
404-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN),
405-
HID_BATTERY_QUIRK_IGNORE },
406-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN),
407-
HID_BATTERY_QUIRK_IGNORE },
408-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN),
409-
HID_BATTERY_QUIRK_IGNORE },
410-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_13T_AW100),
411-
HID_BATTERY_QUIRK_IGNORE },
412-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_14T_EA100_V1),
413-
HID_BATTERY_QUIRK_IGNORE },
414-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_SPECTRE_X360_14T_EA100_V2),
415-
HID_BATTERY_QUIRK_IGNORE },
416-
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_ENVY_X360_15_EU0556NG),
417-
HID_BATTERY_QUIRK_IGNORE },
418386
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_CHROMEBOOK_TROGDOR_POMPOM),
419387
HID_BATTERY_QUIRK_AVOID_QUERY },
388+
/*
389+
* Elan I2C-HID touchscreens seem to all report a non present battery,
390+
* set HID_BATTERY_QUIRK_IGNORE for all Elan I2C-HID devices.
391+
*/
392+
{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, HID_ANY_ID), HID_BATTERY_QUIRK_IGNORE },
420393
{}
421394
};
422395

drivers/hid/i2c-hid/i2c-hid-of-elan.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,13 @@ static const struct elan_i2c_hid_chip_data elan_ekth6915_chip_data = {
152152
.main_supply_name = "vcc33",
153153
};
154154

155+
static const struct elan_i2c_hid_chip_data elan_ekth6a12nay_chip_data = {
156+
.post_power_delay_ms = 10,
157+
.post_gpio_reset_on_delay_ms = 300,
158+
.hid_descriptor_address = 0x0001,
159+
.main_supply_name = "vcc33",
160+
};
161+
155162
static const struct elan_i2c_hid_chip_data ilitek_ili9882t_chip_data = {
156163
.post_power_delay_ms = 1,
157164
.post_gpio_reset_on_delay_ms = 200,
@@ -174,6 +181,7 @@ static const struct elan_i2c_hid_chip_data ilitek_ili2901_chip_data = {
174181

175182
static const struct of_device_id elan_i2c_hid_of_match[] = {
176183
{ .compatible = "elan,ekth6915", .data = &elan_ekth6915_chip_data },
184+
{ .compatible = "elan,ekth6a12nay", .data = &elan_ekth6a12nay_chip_data },
177185
{ .compatible = "ilitek,ili9882t", .data = &ilitek_ili9882t_chip_data },
178186
{ .compatible = "ilitek,ili2901", .data = &ilitek_ili2901_chip_data },
179187
{ }

0 commit comments

Comments
 (0)