Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'input-for-v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input fixes from Dmitry Torokhov:

- a fix for Zinitix driver to not fail probing if the property enabling
touch keys functionality is not defined. Support for touch keys was
added in 6.12 merge window so this issue does not affect users of
released kernels

- a couple new vendor/device IDs in xpad driver to enable support for
more hardware

* tag 'input-for-v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: zinitix - don't fail if linux,keycodes prop is absent
Input: xpad - add support for MSI Claw A1M
Input: xpad - add support for 8BitDo Ultimate 2C Wireless Controller

+25 -12
+3
drivers/input/joystick/xpad.c
··· 218 218 { 0x0c12, 0x8810, "Zeroplus Xbox Controller", 0, XTYPE_XBOX }, 219 219 { 0x0c12, 0x9902, "HAMA VibraX - *FAULTY HARDWARE*", 0, XTYPE_XBOX }, 220 220 { 0x0d2f, 0x0002, "Andamiro Pump It Up pad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, 221 + { 0x0db0, 0x1901, "Micro Star International Xbox360 Controller for Windows", 0, XTYPE_XBOX360 }, 221 222 { 0x0e4c, 0x1097, "Radica Gamester Controller", 0, XTYPE_XBOX }, 222 223 { 0x0e4c, 0x1103, "Radica Gamester Reflex", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX }, 223 224 { 0x0e4c, 0x2390, "Radica Games Jtech Controller", 0, XTYPE_XBOX }, ··· 374 373 { 0x294b, 0x3404, "Snakebyte GAMEPAD RGB X", 0, XTYPE_XBOXONE }, 375 374 { 0x2dc8, 0x2000, "8BitDo Pro 2 Wired Controller fox Xbox", 0, XTYPE_XBOXONE }, 376 375 { 0x2dc8, 0x3106, "8BitDo Pro 2 Wired Controller", 0, XTYPE_XBOX360 }, 376 + { 0x2dc8, 0x310a, "8BitDo Ultimate 2C Wireless Controller", 0, XTYPE_XBOX360 }, 377 377 { 0x2e24, 0x0652, "Hyperkin Duke X-Box One pad", 0, XTYPE_XBOXONE }, 378 378 { 0x31e3, 0x1100, "Wooting One", 0, XTYPE_XBOX360 }, 379 379 { 0x31e3, 0x1200, "Wooting Two", 0, XTYPE_XBOX360 }, ··· 494 492 XPAD_XBOX360_VENDOR(0x07ff), /* Mad Catz Gamepad */ 495 493 XPAD_XBOXONE_VENDOR(0x0b05), /* ASUS controllers */ 496 494 XPAD_XBOX360_VENDOR(0x0c12), /* Zeroplus X-Box 360 controllers */ 495 + XPAD_XBOX360_VENDOR(0x0db0), /* Micro Star International X-Box 360 controllers */ 497 496 XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f Xbox 360 controllers */ 498 497 XPAD_XBOXONE_VENDOR(0x0e6f), /* 0x0e6f Xbox One controllers */ 499 498 XPAD_XBOX360_VENDOR(0x0f0d), /* Hori controllers */
+22 -12
drivers/input/touchscreen/zinitix.c
··· 645 645 return error; 646 646 } 647 647 648 - bt541->num_keycodes = device_property_count_u32(&client->dev, "linux,keycodes"); 649 - if (bt541->num_keycodes > ARRAY_SIZE(bt541->keycodes)) { 650 - dev_err(&client->dev, "too many keys defined (%d)\n", bt541->num_keycodes); 651 - return -EINVAL; 652 - } 648 + if (device_property_present(&client->dev, "linux,keycodes")) { 649 + bt541->num_keycodes = device_property_count_u32(&client->dev, 650 + "linux,keycodes"); 651 + if (bt541->num_keycodes < 0) { 652 + dev_err(&client->dev, "Failed to count keys (%d)\n", 653 + bt541->num_keycodes); 654 + return bt541->num_keycodes; 655 + } else if (bt541->num_keycodes > ARRAY_SIZE(bt541->keycodes)) { 656 + dev_err(&client->dev, "Too many keys defined (%d)\n", 657 + bt541->num_keycodes); 658 + return -EINVAL; 659 + } 653 660 654 - error = device_property_read_u32_array(&client->dev, "linux,keycodes", 655 - bt541->keycodes, 656 - bt541->num_keycodes); 657 - if (error) { 658 - dev_err(&client->dev, 659 - "Unable to parse \"linux,keycodes\" property: %d\n", error); 660 - return error; 661 + error = device_property_read_u32_array(&client->dev, 662 + "linux,keycodes", 663 + bt541->keycodes, 664 + bt541->num_keycodes); 665 + if (error) { 666 + dev_err(&client->dev, 667 + "Unable to parse \"linux,keycodes\" property: %d\n", 668 + error); 669 + return error; 670 + } 661 671 } 662 672 663 673 error = zinitix_init_input_dev(bt541);