* [GIT PULL] HID fixes @ 2018-06-19 12:00 Jiri Kosina 2018-06-20 1:51 ` Linus Torvalds 2018-06-20 7:37 ` [GIT PULL v2] " Jiri Kosina 0 siblings, 2 replies; 8+ messages in thread From: Jiri Kosina @ 2018-06-19 12:00 UTC (permalink / raw) To: Linus Torvalds; +Cc: linux-kernel Linus, please pull from git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git for-linus to receive -rc HID fixes: ===== - Wacom 2nd-gen Intuos Pro large Y axis handling fix from Jason Gerecke - Fix for hibernation in Intel ISH driver, from Even Xu - Crash fix for hid-steam driver, from Rodrigo Rivas Costa - i2c-hid fix for devices (such as SIPODEV SP1064) that fail to provide their report descriptor, from Julian Sax - new device ID addition to google-hammer driver ===== Thanks. ---------------------------------------------------------------- Even Xu (1): HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation Jason Gerecke (1): HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large Julian Sax (1): HID: i2c-hid: override HID descriptors for certain devices Nicolas Boichat (1): HID: google: Add support for whiskers Rodrigo Rivas Costa (1): HID: steam: use hid_device.driver_data instead of hid_set_drvdata() drivers/hid/hid-google-hammer.c | 2 + drivers/hid/hid-ids.h | 1 + drivers/hid/hid-steam.c | 10 +- drivers/hid/i2c-hid/Makefile | 3 + drivers/hid/i2c-hid/{i2c-hid.c => i2c-hid-core.c} | 58 ++++++--- drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c | 149 ++++++++++++++++++++++ drivers/hid/i2c-hid/i2c-hid.h | 17 +++ drivers/hid/intel-ish-hid/ipc/pci-ish.c | 22 +--- drivers/hid/wacom_sys.c | 8 ++ 9 files changed, 230 insertions(+), 40 deletions(-) rename drivers/hid/i2c-hid/{i2c-hid.c => i2c-hid-core.c} (96%) create mode 100644 drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c create mode 100644 drivers/hid/i2c-hid/i2c-hid.h -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [GIT PULL] HID fixes 2018-06-19 12:00 [GIT PULL] HID fixes Jiri Kosina @ 2018-06-20 1:51 ` Linus Torvalds 2018-06-20 4:19 ` Jiri Kosina 2018-06-20 7:37 ` [GIT PULL v2] " Jiri Kosina 1 sibling, 1 reply; 8+ messages in thread From: Linus Torvalds @ 2018-06-20 1:51 UTC (permalink / raw) To: Jiri Kosina, Julian Sax, Hans de Goede, Benjamin Tissoires Cc: Linux Kernel Mailing List On Tue, Jun 19, 2018 at 9:00 PM Jiri Kosina <jikos@kernel.org> wrote: > > - i2c-hid fix for devices (such as SIPODEV SP1064) that fail to provide > their report descriptor, from Julian Sax I'm not taking this crazy stuff after the merge window. Even *during* the merge window this would probably have made me go "WTF? Eww!" if I had noticed. What is that odd binary blob i2c_hid_desc_override, and where does the data come from? Not explained anywhere. We don't just add random binary data without explaining it. Linus ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [GIT PULL] HID fixes 2018-06-20 1:51 ` Linus Torvalds @ 2018-06-20 4:19 ` Jiri Kosina 2018-06-20 7:06 ` Hans de Goede 0 siblings, 1 reply; 8+ messages in thread From: Jiri Kosina @ 2018-06-20 4:19 UTC (permalink / raw) To: Linus Torvalds Cc: Julian Sax, Hans de Goede, Benjamin Tissoires, Linux Kernel Mailing List On Wed, 20 Jun 2018, Linus Torvalds wrote: > What is that odd binary blob i2c_hid_desc_override, and where does the > data come from? Not explained anywhere. Fair enough; it's a pretty standard HID descriptor override, but you're right that we're usually replacing it in a bit more verbose way. Julian, could you please run that descriptor through something like HID descriptor tool, and send me a patch that reformats it? (for the way we usually do this, look for example in hid-sony.c). I'll drop this commit and resend the pull request (as namely the steam fix really should go in). The plan eventually is to offload all this crazy rdesc replacing to userspace, but that is still WIP. Thanks, -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [GIT PULL] HID fixes 2018-06-20 4:19 ` Jiri Kosina @ 2018-06-20 7:06 ` Hans de Goede 2018-06-20 7:12 ` Linus Torvalds 0 siblings, 1 reply; 8+ messages in thread From: Hans de Goede @ 2018-06-20 7:06 UTC (permalink / raw) To: Julian Sax Cc: Jiri Kosina, Benjamin Tissoires, Linux Kernel Mailing List, Linus Torvalds [-- Attachment #1: Type: text/plain, Size: 882 bytes --] Hi all, On 20-06-18 06:19, Jiri Kosina wrote: > On Wed, 20 Jun 2018, Linus Torvalds wrote: > >> What is that odd binary blob i2c_hid_desc_override, and where does the >> data come from? Not explained anywhere. > > Fair enough; it's a pretty standard HID descriptor override, but you're > right that we're usually replacing it in a bit more verbose way. Julian, > could you please run that descriptor through something like HID descriptor > tool, and send me a patch that reformats it? (for the way we usually do > this, look for example in hid-sony.c). Julian let me know if you need any help with this, to format the HID descriptor take a file with the raw descriptor in binary format and do: cat descriptor.bin | hidrd-convert -o code I've just done that to make sure my instructions are right, so to save you having to redo this I've attached the result. Regards, Hans [-- Attachment #2: desc.c --] [-- Type: text/x-csrc, Size: 18091 bytes --] 0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x02, /* Usage (Mouse), */ 0xA1, 0x01, /* Collection (Application), */ 0x85, 0x01, /* Report ID (1), */ 0x09, 0x01, /* Usage (Pointer), */ 0xA1, 0x00, /* Collection (Physical), */ 0x05, 0x09, /* Usage Page (Button), */ 0x19, 0x01, /* Usage Minimum (01h), */ 0x29, 0x02, /* Usage Maximum (02h), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x02, /* Report Count (2), */ 0x81, 0x02, /* Input (Variable), */ 0x95, 0x06, /* Report Count (6), */ 0x81, 0x01, /* Input (Constant), */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x30, /* Usage (X), */ 0x09, 0x31, /* Usage (Y), */ 0x15, 0x81, /* Logical Minimum (-127), */ 0x25, 0x7F, /* Logical Maximum (127), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x02, /* Report Count (2), */ 0x81, 0x06, /* Input (Variable, Relative), */ 0xC0, /* End Collection, */ 0xC0, /* End Collection, */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x09, 0x05, /* Usage (Touchpad), */ 0xA1, 0x01, /* Collection (Application), */ 0x85, 0x04, /* Report ID (4), */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x09, 0x22, /* Usage (Finger), */ 0xA1, 0x02, /* Collection (Logical), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x09, 0x47, /* Usage (Touch Valid), */ 0x09, 0x42, /* Usage (Tip Switch), */ 0x95, 0x02, /* Report Count (2), */ 0x75, 0x01, /* Report Size (1), */ 0x81, 0x02, /* Input (Variable), */ 0x95, 0x01, /* Report Count (1), */ 0x75, 0x03, /* Report Size (3), */ 0x25, 0x05, /* Logical Maximum (5), */ 0x09, 0x51, /* Usage (Contact Identifier), */ 0x81, 0x02, /* Input (Variable), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x03, /* Report Count (3), */ 0x81, 0x03, /* Input (Constant, Variable), */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x26, 0x44, 0x0A, /* Logical Maximum (2628), */ 0x75, 0x10, /* Report Size (16), */ 0x55, 0x0E, /* Unit Exponent (14), */ 0x65, 0x11, /* Unit (Centimeter), */ 0x09, 0x30, /* Usage (X), */ 0x46, 0x1A, 0x04, /* Physical Maximum (1050), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x46, 0xBC, 0x02, /* Physical Maximum (700), */ 0x26, 0x34, 0x05, /* Logical Maximum (1332), */ 0x09, 0x31, /* Usage (Y), */ 0x81, 0x02, /* Input (Variable), */ 0xC0, /* End Collection, */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x09, 0x22, /* Usage (Finger), */ 0xA1, 0x02, /* Collection (Logical), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x09, 0x47, /* Usage (Touch Valid), */ 0x09, 0x42, /* Usage (Tip Switch), */ 0x95, 0x02, /* Report Count (2), */ 0x75, 0x01, /* Report Size (1), */ 0x81, 0x02, /* Input (Variable), */ 0x95, 0x01, /* Report Count (1), */ 0x75, 0x03, /* Report Size (3), */ 0x25, 0x05, /* Logical Maximum (5), */ 0x09, 0x51, /* Usage (Contact Identifier), */ 0x81, 0x02, /* Input (Variable), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x03, /* Report Count (3), */ 0x81, 0x03, /* Input (Constant, Variable), */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x26, 0x44, 0x0A, /* Logical Maximum (2628), */ 0x75, 0x10, /* Report Size (16), */ 0x09, 0x30, /* Usage (X), */ 0x46, 0x1A, 0x04, /* Physical Maximum (1050), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x46, 0xBC, 0x02, /* Physical Maximum (700), */ 0x26, 0x34, 0x05, /* Logical Maximum (1332), */ 0x09, 0x31, /* Usage (Y), */ 0x81, 0x02, /* Input (Variable), */ 0xC0, /* End Collection, */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x09, 0x22, /* Usage (Finger), */ 0xA1, 0x02, /* Collection (Logical), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x09, 0x47, /* Usage (Touch Valid), */ 0x09, 0x42, /* Usage (Tip Switch), */ 0x95, 0x02, /* Report Count (2), */ 0x75, 0x01, /* Report Size (1), */ 0x81, 0x02, /* Input (Variable), */ 0x95, 0x01, /* Report Count (1), */ 0x75, 0x03, /* Report Size (3), */ 0x25, 0x05, /* Logical Maximum (5), */ 0x09, 0x51, /* Usage (Contact Identifier), */ 0x81, 0x02, /* Input (Variable), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x03, /* Report Count (3), */ 0x81, 0x03, /* Input (Constant, Variable), */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x26, 0x44, 0x0A, /* Logical Maximum (2628), */ 0x75, 0x10, /* Report Size (16), */ 0x09, 0x30, /* Usage (X), */ 0x46, 0x1A, 0x04, /* Physical Maximum (1050), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x46, 0xBC, 0x02, /* Physical Maximum (700), */ 0x26, 0x34, 0x05, /* Logical Maximum (1332), */ 0x09, 0x31, /* Usage (Y), */ 0x81, 0x02, /* Input (Variable), */ 0xC0, /* End Collection, */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x09, 0x22, /* Usage (Finger), */ 0xA1, 0x02, /* Collection (Logical), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x09, 0x47, /* Usage (Touch Valid), */ 0x09, 0x42, /* Usage (Tip Switch), */ 0x95, 0x02, /* Report Count (2), */ 0x75, 0x01, /* Report Size (1), */ 0x81, 0x02, /* Input (Variable), */ 0x95, 0x01, /* Report Count (1), */ 0x75, 0x03, /* Report Size (3), */ 0x25, 0x05, /* Logical Maximum (5), */ 0x09, 0x51, /* Usage (Contact Identifier), */ 0x81, 0x02, /* Input (Variable), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x03, /* Report Count (3), */ 0x81, 0x03, /* Input (Constant, Variable), */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x26, 0x44, 0x0A, /* Logical Maximum (2628), */ 0x75, 0x10, /* Report Size (16), */ 0x09, 0x30, /* Usage (X), */ 0x46, 0x1A, 0x04, /* Physical Maximum (1050), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x46, 0xBC, 0x02, /* Physical Maximum (700), */ 0x26, 0x34, 0x05, /* Logical Maximum (1332), */ 0x09, 0x31, /* Usage (Y), */ 0x81, 0x02, /* Input (Variable), */ 0xC0, /* End Collection, */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x55, 0x0C, /* Unit Exponent (12), */ 0x66, 0x01, 0x10, /* Unit (Seconds), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x09, 0x56, /* Usage (Scan Time), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x54, /* Usage (Contact Count), */ 0x25, 0x7F, /* Logical Maximum (127), */ 0x75, 0x08, /* Report Size (8), */ 0x81, 0x02, /* Input (Variable), */ 0x05, 0x09, /* Usage Page (Button), */ 0x09, 0x01, /* Usage (01h), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x95, 0x07, /* Report Count (7), */ 0x81, 0x03, /* Input (Constant, Variable), */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x85, 0x02, /* Report ID (2), */ 0x09, 0x55, /* Usage (Contact Count Maximum), */ 0x09, 0x59, /* Usage (59h), */ 0x75, 0x04, /* Report Size (4), */ 0x95, 0x02, /* Report Count (2), */ 0x25, 0x0F, /* Logical Maximum (15), */ 0xB1, 0x02, /* Feature (Variable), */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x85, 0x07, /* Report ID (7), */ 0x09, 0x60, /* Usage (60h), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x01, /* Report Count (1), */ 0x25, 0x01, /* Logical Maximum (1), */ 0xB1, 0x02, /* Feature (Variable), */ 0x95, 0x07, /* Report Count (7), */ 0xB1, 0x03, /* Feature (Constant, Variable), */ 0x85, 0x06, /* Report ID (6), */ 0x06, 0x00, 0xFF, /* Usage Page (FF00h), */ 0x09, 0xC5, /* Usage (C5h), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x75, 0x08, /* Report Size (8), */ 0x96, 0x00, 0x01, /* Report Count (256), */ 0xB1, 0x02, /* Feature (Variable), */ 0xC0, /* End Collection, */ 0x06, 0x00, 0xFF, /* Usage Page (FF00h), */ 0x09, 0x01, /* Usage (01h), */ 0xA1, 0x01, /* Collection (Application), */ 0x85, 0x0D, /* Report ID (13), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x19, 0x01, /* Usage Minimum (01h), */ 0x29, 0x02, /* Usage Maximum (02h), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x02, /* Report Count (2), */ 0xB1, 0x02, /* Feature (Variable), */ 0xC0, /* End Collection, */ 0x05, 0x0D, /* Usage Page (Digitizer), */ 0x09, 0x0E, /* Usage (Configuration), */ 0xA1, 0x01, /* Collection (Application), */ 0x85, 0x03, /* Report ID (3), */ 0x09, 0x22, /* Usage (Finger), */ 0xA1, 0x02, /* Collection (Logical), */ 0x09, 0x52, /* Usage (Device Mode), */ 0x25, 0x0A, /* Logical Maximum (10), */ 0x95, 0x01, /* Report Count (1), */ 0xB1, 0x02, /* Feature (Variable), */ 0xC0, /* End Collection, */ 0x09, 0x22, /* Usage (Finger), */ 0xA1, 0x00, /* Collection (Physical), */ 0x85, 0x05, /* Report ID (5), */ 0x09, 0x57, /* Usage (57h), */ 0x09, 0x58, /* Usage (58h), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x02, /* Report Count (2), */ 0x25, 0x01, /* Logical Maximum (1), */ 0xB1, 0x02, /* Feature (Variable), */ 0x95, 0x06, /* Report Count (6), */ 0xB1, 0x03, /* Feature (Constant, Variable), */ 0xC0, /* End Collection, */ 0xC0 /* End Collection */ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [GIT PULL] HID fixes 2018-06-20 7:06 ` Hans de Goede @ 2018-06-20 7:12 ` Linus Torvalds 2018-06-20 7:15 ` Jiri Kosina 0 siblings, 1 reply; 8+ messages in thread From: Linus Torvalds @ 2018-06-20 7:12 UTC (permalink / raw) To: Hans de Goede Cc: Julian Sax, Jiri Kosina, Benjamin Tissoires, Linux Kernel Mailing List On Wed, Jun 20, 2018 at 4:06 PM Hans de Goede <hdegoede@redhat.com> wrote: > > > Julian let me know if you need any help with this, > to format the HID descriptor take a file with > the raw descriptor in binary format and do: > > cat descriptor.bin | hidrd-convert -o code But what is the *source* of this binary crud? Because no way in hell do we take binary crud from random places, and then add it to the kernel. NOT EVEN IF IT WENT THROUGH SOME "hidrd-convert" PHASE! And yes, now that I google for that hidrd-convert pattern, I see that we already have other broken chunks like this. Not ok. At least some of them seem to mention where the data comes from, eg "This is the original report descriptor as reported by lsusb -vd 046d:c294" but this one has no such information. So guys, you need to think about where things come from, and document how some random garbage came to be. Not just add it to the kernel. Linus ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [GIT PULL] HID fixes 2018-06-20 7:12 ` Linus Torvalds @ 2018-06-20 7:15 ` Jiri Kosina 2018-06-20 7:35 ` Benjamin Tissoires 0 siblings, 1 reply; 8+ messages in thread From: Jiri Kosina @ 2018-06-20 7:15 UTC (permalink / raw) To: Linus Torvalds Cc: Hans de Goede, Julian Sax, Benjamin Tissoires, Linux Kernel Mailing List On Wed, 20 Jun 2018, Linus Torvalds wrote: > But what is the *source* of this binary crud? > > Because no way in hell do we take binary crud from random places, and > then add it to the kernel. > > NOT EVEN IF IT WENT THROUGH SOME "hidrd-convert" PHASE! > > And yes, now that I google for that hidrd-convert pattern, I see that > we already have other broken chunks like this. > > Not ok. At least some of them seem to mention where the data comes from, > eg > > "This is the original report descriptor as reported by lsusb -vd 046d:c294" > > but this one has no such information. > > So guys, you need to think about where things come from, and document > how some random garbage came to be. Not just add it to the kernel. Well, at least for the ones I've done myself in the past, those are hand-written from scratch. It's not really a firmware / code, it's just a description of the data in the reports, so that HID parser can interpret it properly. -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [GIT PULL] HID fixes 2018-06-20 7:15 ` Jiri Kosina @ 2018-06-20 7:35 ` Benjamin Tissoires 0 siblings, 0 replies; 8+ messages in thread From: Benjamin Tissoires @ 2018-06-20 7:35 UTC (permalink / raw) To: Jiri Kosina Cc: Linus Torvalds, Hans de Goede, Julian Sax, Linux Kernel Mailing List On Wed, Jun 20, 2018 at 9:15 AM, Jiri Kosina <jikos@kernel.org> wrote: > On Wed, 20 Jun 2018, Linus Torvalds wrote: > >> But what is the *source* of this binary crud? >> >> Because no way in hell do we take binary crud from random places, and >> then add it to the kernel. >> >> NOT EVEN IF IT WENT THROUGH SOME "hidrd-convert" PHASE! >> >> And yes, now that I google for that hidrd-convert pattern, I see that >> we already have other broken chunks like this. >> >> Not ok. At least some of them seem to mention where the data comes from, >> eg >> >> "This is the original report descriptor as reported by lsusb -vd 046d:c294" >> >> but this one has no such information. >> >> So guys, you need to think about where things come from, and document >> how some random garbage came to be. Not just add it to the kernel. > > Well, at least for the ones I've done myself in the past, those are > hand-written from scratch. > > It's not really a firmware / code, it's just a description of the data in > the reports, so that HID parser can interpret it properly. > In case it matters, I have an open-source python script that parses those blobs and output the same level of human description here: https://gitlab.freedesktop.org/libevdev/hid-tools/ (the script parse_rdesc.py). As Jiri said, this is all standardized and documented in the HID protocol[1], and this 'just' describes the data that will be sent over the transport layer. In this particular case, the descriptors were extracted from the Windows driver, not by looking at the binaries, but by looking at the data that was transmitted from the "device". The thing is the data is not stored on the device chip itself but on a third party driver from the vendor. However, from a windows point of view, the third party driver intercepts the I2C commands and supply the information when needed. So it is as if the device answered. Blame the vendor here that decided to reduce the costs and save a few KB on the chip :/ Cheers, Benjamin [1] http://www.usb.org/developers/hidpage/HID1_11.pdf ^ permalink raw reply [flat|nested] 8+ messages in thread
* [GIT PULL v2] HID fixes 2018-06-19 12:00 [GIT PULL] HID fixes Jiri Kosina 2018-06-20 1:51 ` Linus Torvalds @ 2018-06-20 7:37 ` Jiri Kosina 1 sibling, 0 replies; 8+ messages in thread From: Jiri Kosina @ 2018-06-20 7:37 UTC (permalink / raw) To: Linus Torvalds Cc: linux-kernel, Benjamin Tissoires, Hans de Goede, Julian Sax Linus, I've rebased for-linus (dropped the descriptor override from i2c-hid before the situation there gets clarified). Please pull from git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git for-linus to receive HID -rc fixes: - Wacom 2nd-gen Intuos Pro large Y axis handling fix from Jason Gerecke - Fix for hibernation in Intel ISH driver, from Even Xu - Crash fix for hid-steam driver, from Rodrigo Rivas Costa - new device ID addition to google-hammer driver Thanks. ---------------------------------------------------------------- Even Xu (1): HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation Jason Gerecke (1): HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large Nicolas Boichat (1): HID: google: Add support for whiskers Rodrigo Rivas Costa (1): HID: steam: use hid_device.driver_data instead of hid_set_drvdata() drivers/hid/hid-google-hammer.c | 2 ++ drivers/hid/hid-ids.h | 1 + drivers/hid/hid-steam.c | 10 +++++----- drivers/hid/intel-ish-hid/ipc/pci-ish.c | 22 +++++++--------------- drivers/hid/wacom_sys.c | 8 ++++++++ 5 files changed, 23 insertions(+), 20 deletions(-) -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-06-20 9:15 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-06-19 12:00 [GIT PULL] HID fixes Jiri Kosina 2018-06-20 1:51 ` Linus Torvalds 2018-06-20 4:19 ` Jiri Kosina 2018-06-20 7:06 ` Hans de Goede 2018-06-20 7:12 ` Linus Torvalds 2018-06-20 7:15 ` Jiri Kosina 2018-06-20 7:35 ` Benjamin Tissoires 2018-06-20 7:37 ` [GIT PULL v2] " Jiri Kosina
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.