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 branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input fixes from Dmitry Torokhov:
"A fixup for the input_event fix for y2038 Sparc64, and couple other
minor fixes"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: input_event - fix the CONFIG_SPARC64 mixup
Input: olpc_apsp - assign priv->dev earlier
Input: uinput - fix undefined behavior in uinput_validate_absinfo()
Input: raspberrypi-ts - fix link error
Input: xpad - add support for SteelSeries Stratus Duo
Input: input_event - provide override for sparc64

+14 -5
+3
drivers/input/joystick/xpad.c
··· 252 252 { 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX }, 253 253 { 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX }, 254 254 { 0x102c, 0xff0c, "Joytech Wireless Advanced Controller", 0, XTYPE_XBOX }, 255 + { 0x1038, 0x1430, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 }, 256 + { 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 }, 255 257 { 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 }, 256 258 { 0x12ab, 0x0004, "Honey Bee Xbox360 dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 }, 257 259 { 0x12ab, 0x0301, "PDP AFTERGLOW AX.1", 0, XTYPE_XBOX360 }, ··· 430 428 XPAD_XBOXONE_VENDOR(0x0e6f), /* 0x0e6f X-Box One controllers */ 431 429 XPAD_XBOX360_VENDOR(0x0f0d), /* Hori Controllers */ 432 430 XPAD_XBOXONE_VENDOR(0x0f0d), /* Hori Controllers */ 431 + XPAD_XBOX360_VENDOR(0x1038), /* SteelSeries Controllers */ 433 432 XPAD_XBOX360_VENDOR(0x11c9), /* Nacon GC100XF */ 434 433 XPAD_XBOX360_VENDOR(0x12ab), /* X-Box 360 dance pads */ 435 434 XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */
+3 -2
drivers/input/misc/uinput.c
··· 39 39 #include <linux/init.h> 40 40 #include <linux/fs.h> 41 41 #include <linux/miscdevice.h> 42 + #include <linux/overflow.h> 42 43 #include <linux/input/mt.h> 43 44 #include "../input-compat.h" 44 45 ··· 406 405 static int uinput_validate_absinfo(struct input_dev *dev, unsigned int code, 407 406 const struct input_absinfo *abs) 408 407 { 409 - int min, max; 408 + int min, max, range; 410 409 411 410 min = abs->minimum; 412 411 max = abs->maximum; ··· 418 417 return -EINVAL; 419 418 } 420 419 421 - if (abs->flat > max - min) { 420 + if (!check_sub_overflow(max, min, &range) && abs->flat > range) { 422 421 printk(KERN_DEBUG 423 422 "%s: abs_flat #%02x out of range: %d (min:%d/max:%d)\n", 424 423 UINPUT_NAME, code, abs->flat, min, max);
+2 -1
drivers/input/serio/olpc_apsp.c
··· 195 195 if (!priv) 196 196 return -ENOMEM; 197 197 198 + priv->dev = &pdev->dev; 199 + 198 200 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 199 201 priv->base = devm_ioremap_resource(&pdev->dev, res); 200 202 if (IS_ERR(priv->base)) { ··· 250 248 goto err_irq; 251 249 } 252 250 253 - priv->dev = &pdev->dev; 254 251 device_init_wakeup(priv->dev, 1); 255 252 platform_set_drvdata(pdev, priv); 256 253
+1 -1
drivers/input/touchscreen/Kconfig
··· 698 698 699 699 config TOUCHSCREEN_RASPBERRYPI_FW 700 700 tristate "Raspberry Pi's firmware base touch screen support" 701 - depends on RASPBERRYPI_FIRMWARE || COMPILE_TEST 701 + depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST) 702 702 help 703 703 Say Y here if you have the official Raspberry Pi 7 inch screen on 704 704 your system.
+5 -1
include/uapi/linux/input.h
··· 26 26 */ 27 27 28 28 struct input_event { 29 - #if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL) 29 + #if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL__) 30 30 struct timeval time; 31 31 #define input_event_sec time.tv_sec 32 32 #define input_event_usec time.tv_usec 33 33 #else 34 34 __kernel_ulong_t __sec; 35 + #if defined(__sparc__) && defined(__arch64__) 36 + unsigned int __usec; 37 + #else 35 38 __kernel_ulong_t __usec; 39 + #endif 36 40 #define input_event_sec __sec 37 41 #define input_event_usec __usec 38 42 #endif