Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid

Pull HID fixes from Jiri Kosina:

- string buffer formatting fixes in picolcd and sensor drivers, from
Takashi Iwai

- two new device IDs from Chen-Tsung Hsieh and Tony Fischetti

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
HID: add ALWAYS_POLL quirk to lenovo pixart mouse
HID: google: add moonball USB id
HID: hid-sensor-custom: Use scnprintf() for avoiding potential buffer overflow
HID: hid-picolcd_fb: Use scnprintf() for avoiding potential buffer overflow

+10 -5
+2
drivers/hid/hid-google-hammer.c
··· 533 533 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, 534 534 USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_MASTERBALL) }, 535 535 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, 536 + USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_MOONBALL) }, 537 + { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, 536 538 USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_STAFF) }, 537 539 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, 538 540 USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_WAND) },
+2
drivers/hid/hid-ids.h
··· 478 478 #define USB_DEVICE_ID_GOOGLE_WHISKERS 0x5030 479 479 #define USB_DEVICE_ID_GOOGLE_MASTERBALL 0x503c 480 480 #define USB_DEVICE_ID_GOOGLE_MAGNEMITE 0x503d 481 + #define USB_DEVICE_ID_GOOGLE_MOONBALL 0x5044 481 482 482 483 #define USB_VENDOR_ID_GOTOP 0x08f2 483 484 #define USB_DEVICE_ID_SUPER_Q2 0x007f ··· 727 726 #define USB_DEVICE_ID_LENOVO_X1_COVER 0x6085 728 727 #define USB_DEVICE_ID_LENOVO_X1_TAB 0x60a3 729 728 #define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5 729 + #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D 0x608d 730 730 731 731 #define USB_VENDOR_ID_LG 0x1fd2 732 732 #define USB_DEVICE_ID_LG_MULTITOUCH 0x0064
+2 -2
drivers/hid/hid-picolcd_fb.c
··· 458 458 if (ret >= PAGE_SIZE) 459 459 break; 460 460 else if (i == fb_update_rate) 461 - ret += snprintf(buf+ret, PAGE_SIZE-ret, "[%u] ", i); 461 + ret += scnprintf(buf+ret, PAGE_SIZE-ret, "[%u] ", i); 462 462 else 463 - ret += snprintf(buf+ret, PAGE_SIZE-ret, "%u ", i); 463 + ret += scnprintf(buf+ret, PAGE_SIZE-ret, "%u ", i); 464 464 if (ret > 0) 465 465 buf[min(ret, (size_t)PAGE_SIZE)-1] = '\n'; 466 466 return ret;
+1
drivers/hid/hid-quirks.c
··· 103 103 { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_PENSKETCH_M912), HID_QUIRK_MULTI_INPUT }, 104 104 { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT }, 105 105 { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL }, 106 + { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D), HID_QUIRK_ALWAYS_POLL }, 106 107 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C007), HID_QUIRK_ALWAYS_POLL }, 107 108 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C077), HID_QUIRK_ALWAYS_POLL }, 108 109 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KEYBOARD_G710_PLUS), HID_QUIRK_NOGET },
+3 -3
drivers/hid/hid-sensor-custom.c
··· 313 313 314 314 while (i < ret) { 315 315 if (i + attribute->size > ret) { 316 - len += snprintf(&buf[len], 316 + len += scnprintf(&buf[len], 317 317 PAGE_SIZE - len, 318 318 "%d ", values[i]); 319 319 break; ··· 336 336 ++i; 337 337 break; 338 338 } 339 - len += snprintf(&buf[len], PAGE_SIZE - len, 339 + len += scnprintf(&buf[len], PAGE_SIZE - len, 340 340 "%lld ", value); 341 341 } 342 - len += snprintf(&buf[len], PAGE_SIZE - len, "\n"); 342 + len += scnprintf(&buf[len], PAGE_SIZE - len, "\n"); 343 343 344 344 return len; 345 345 } else if (input)