1. 31 Jan, 2018 4 commits
    • Jiri Kosina's avatar
      Merge branch 'for-4.16/wacom' into for-linus · 740c84ee
      Jiri Kosina authored
      Pull Wacom device driver updates. These don't have to go on top of the
      hid_have_special_driver[] revamp, as the whole group is assumed to
      have a special driver based on VID.
      740c84ee
    • Jiri Kosina's avatar
      Merge branch 'for-4.16/elo' into for-linus · a44f3ec6
      Jiri Kosina authored
      Pull hid-elo device detection fix
      a44f3ec6
    • Jiri Kosina's avatar
      Merge branches 'for-4.16/hid-quirks-cleanup/asus',... · 79084494
      Jiri Kosina authored
      Merge branches 'for-4.16/hid-quirks-cleanup/asus', 'for-4.16/hid-quirks-cleanup/elecom', 'for-4.16/hid-quirks-cleanup/ish', 'for-4.16/hid-quirks-cleanup/multitouch', 'for-4.16/hid-quirks-cleanup/pixart', 'for-4.16/hid-quirks-cleanup/rmi', 'for-4.16/hid-quirks-cleanup/sony' and 'for-4.16/hid-quirks-cleanup/toshiba' into for-linus
      
      Pull assorted device driver fixes (ASUS, Elecom, Intel-ISH, Multitouch, PixArt, RMI,
      Sony and Toshiba) based on top the hid-quirks revamp.
      79084494
    • Jiri Kosina's avatar
      Merge branch 'for-4.16/hid-quirks-cleanup/_base' into for-linus · a7acb31d
      Jiri Kosina authored
      This series from Benjamin Tissoires finally removes one of the big PITAs
      in the hid-core, which is the absolute need of having added all the new
      device IDs into the horrid hid_have_special_driver[]
      a7acb31d
  2. 23 Jan, 2018 10 commits
    • Hans de Goede's avatar
      HID: quirks: Fix keyboard + touchpad on Toshiba Click Mini not working · edfc3722
      Hans de Goede authored
      The Toshiba Click Mini uses an i2c attached keyboard/touchpad combo
      (single i2c_hid device for both) which has a vid:pid of 04F3:0401,
      which is also used by a bunch of Elan touchpads which are handled by the
      drivers/input/mouse/elan_i2c driver, but that driver deals with pure
      touchpads and does not work for a combo device such as the one on the
      Toshiba Click Mini.
      
      The combo on the Mini has an ACPI id of ELAN0800, which is not claimed
      by the elan_i2c driver, so check for that and if it is found do not ignore
      the device. This fixes the keyboard/touchpad combo on the Mini not working
      (although with the touchpad in mouse emulation mode).
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      edfc3722
    • Hans de Goede's avatar
      HID: asus: Fix special function keys on T200TA · 33edee4f
      Hans de Goede authored
      Just like on the T100TA the T200TA HID descriptors for the 0xff32
      Asus vendor usage page need a small fixup. But on the T200TA the HID
      descriptors are larger because they have descrriptors for one more
      (unused) HID report appended.
      
      Extend the T100TA descriptor fixup to also check for the T200TA's
      descriptors size.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      33edee4f
    • Hans de Goede's avatar
      HID: asus: Add touchpad max x/y and resolution info for the T200TA · dbd3ef28
      Hans de Goede authored
      The Asus T200TA uses the same USB device-id for its keyboard dock as the
      T100TA, but the touchpad has a different size and corresponding different
      max x/y values.
      
      Add a separate asus_touchpad_info struct for the T200TA and select this
      based on the DMI product-name (as we are already doing for the T100HA),
      so that we report the correct info to userspace.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      dbd3ef28
    • Jason Gerecke's avatar
      HID: wacom: Add support for One by Wacom (CTL-472 / CTL-672) · c9472189
      Jason Gerecke authored
      Adds support for the second-generation "One by Wacom" tablets. These
      devices are similar to the last generation, but a slightly different size
      and reporting a higher number of pressure levels.
      Signed-off-by: default avatarMx Jing <jingmingxuan@outlook.com>
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      c9472189
    • Jason Gerecke's avatar
      HID: wacom: Fix reporting of touch toggle (WACOM_HID_WD_MUTE_DEVICE) events · 403c0f68
      Jason Gerecke authored
      Touch toggle softkeys send a '1' while pressed and a '0' while released,
      requring the kernel to keep track of wether touch should be enabled or
      disabled. The code does not handle the state transitions properly,
      however. If the key is pressed repeatedly, the following four states
      of states are cycled through (assuming touch starts out enabled):
      
      Press:   shared->is_touch_on => 0, SW_MUTE_DEVICE => 1
      Release: shared->is_touch_on => 0, SW_MUTE_DEVICE => 1
      Press:   shared->is_touch_on => 1, SW_MUTE_DEVICE => 0
      Release: shared->is_touch_on => 1, SW_MUTE_DEVICE => 1
      
      The hardware always properly enables/disables touch when the key is
      pressed but applications that listen for SW_MUTE_DEVICE events to provide
      feedback about the state will only ever show touch as being enabled while
      the key is held, and only every-other time. This sequence occurs because
      the fallthrough WACOM_HID_WD_TOUCHONOFF case is always handled, and it
      uses the value of the *local* is_touch_on variable as the value to
      report to userspace. The local value is equal to the shared value when
      the button is pressed, but equal to zero when the button is released.
      
      Reporting the shared value to userspace fixes this problem, but the
      fallthrough case needs to update the shared value in an incompatible
      way (which is why the local variable was introduced in the first place).
      To work around this, we just handle both cases in a single block of code
      and update the shared variable as appropriate.
      
      Fixes: d793ff81 ("HID: wacom: generic: support touch on/off softkey")
      Cc: <stable@vger.kernel.org> # v4.12+
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: default avatarAaron Skomra <aaron.skomra@wacom.com>
      Tested-by: default avatarAaron Skomra <aaron.skomra@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      403c0f68
    • Srinivas Pandruvada's avatar
      HID: intel-ish-hid: Enable Cannon Lake and Coffee Lake laptop/desktop · 7103f6b2
      Srinivas Pandruvada authored
      Added PCI ID for Cannon Lake and Coffee Lake laptop/desktop skews.
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      7103f6b2
    • Tomasz Kramkowski's avatar
      HID: elecom: rewrite report fixup for EX-G and future mice · ac58eec2
      Tomasz Kramkowski authored
      This patch rewrites the mouse report fixup used for the DEFT and HUGE
      elecom trackballs in order to make it generic enough to fix other
      elecom mice with similar issues. This patch also uses this new report
      fixup function to fix the Elecom EX-G trackball which has 6 physical
      buttons and a similar issue to the other two mice.
      
      Elecom's track record has so far shown that they like to re-use the
      same report descriptor for multiple different mice regardless of the
      number of buttons the mouse has. This means that the missing buttons
      on multiple mice can be fixed in one function without introducing
      phantom buttons which would in turn cause the number of mouse buttons
      to be misreported to userspace.
      
      This patch drops the very verbose report descriptor "diff" comment for
      a more abridged yet hopefully just as informative generic version.
      Signed-off-by: default avatarTomasz Kramkowski <tk@the-tk.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ac58eec2
    • Roderick Colenbrander's avatar
      HID: sony: Report DS4 version info through sysfs · 169f15ab
      Roderick Colenbrander authored
      Report DS4 firmware and hardware version through sysfs for both
      USB and Bluetooth. This information is important for userspace
      in particular for device specific quirks (e.g. in Bluetooth stacks).
      Signed-off-by: default avatarRoderick Colenbrander <roderick.colenbrander@sony.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      169f15ab
    • Aaron Armstrong Skomra's avatar
      HID: wacom: EKR: ensure devres groups at higher indexes are released · 791ae273
      Aaron Armstrong Skomra authored
      Background: ExpressKey Remotes communicate their events via usb dongle.
      Each dongle can hold up to 5 pairings at one time and one EKR (identified
      by its serial number) can unfortunately be paired with its dongle
      more than once. The pairing takes place in a round-robin fashion.
      
      Input devices are only created once per EKR, when a new serial number
      is seen in the list of pairings. However, if a device is created for
      a "higher" paring index and subsequently a second pairing occurs at a
      lower pairing index, unpairing the remote with that serial number from
      any pairing index will currently cause a driver crash. This occurs
      infrequently, as two remotes are necessary to trigger this bug and most
      users have only one remote.
      
      As an illustration, to trigger the bug you need to have two remotes,
      and pair them in this order:
      
      1. slot 0 -> remote 1 (input device created for remote 1)
      2. slot 1 -> remote 1 (duplicate pairing - no device created)
      3. slot 2 -> remote 1 (duplicate pairing - no device created)
      4. slot 3 -> remote 1 (duplicate pairing - no device created)
      5. slot 4 -> remote 2 (input device created for remote 2)
      
      6. slot 0 -> remote 2 (1 destroyed and recreated at slot 1)
      7. slot 1 -> remote 2 (1 destroyed and recreated at slot 2)
      8. slot 2 -> remote 2 (1 destroyed and recreated at slot 3)
      9. slot 3 -> remote 2 (1 destroyed and not recreated)
      10. slot 4 -> remote 2 (2 was already in this slot so no changes)
      
      11. slot 0 -> remote 1 (The current code sees remote 2 was paired over in
                              one of the dongle slots it occupied and attempts
                              to remove all information about remote 2 [1]. It
                              calls wacom_remote_destroy_one for remote 2, but
                              the destroy function assumes the lowest index is
                              where the remote's input device was created. The
                              code "cleans up" the other remote 2 pairings
                              including the one which the input device was based
                              on, assuming they were were just duplicate
                              pairings. However, the cleanup doesn't call the
                              devres release function for the input device that
                              was created in slot 4).
      
      This issue is fixed by this commit.
      
      [1] Remote 2 should subsequently be re-created on the next packet from the
      EKR at the lowest numbered slot that it occupies (here slot 1).
      
      Fixes: f9036bd4 ("HID: wacom: EKR: use devres groups to manage resources")
      Cc: stable <stable@vger.kernel.org> #4.9
      Signed-off-by: default avatarAaron Armstrong Skomra <aaron.skomra@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      791ae273
    • Andrew Duggan's avatar
      HID: rmi: Support the Fujitsu R726 Pad dock using hid-rmi · c5293409
      Andrew Duggan authored
      The Fujitsu R726 Pad has an optional USB keyboard dock which contains
      a Synaptics touchpad. The dock identifies itself as a
      Primax Rezel Tablet Keyboard.
      Signed-off-by: default avatarAndrew Duggan <aduggan@synaptics.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      c5293409
  3. 07 Dec, 2017 3 commits
    • Dave Young's avatar
      HID: add quirk for another PIXART OEM mouse used by HP · 01cffe9d
      Dave Young authored
      This mouse keep disconnecting in runleve 3 like below, add it needs the
      quirk to mute the anoying messages.
      
      [  111.230555] usb 2-2: USB disconnect, device number 6
      [  112.718156] usb 2-2: new low-speed USB device number 7 using xhci_hcd
      [  112.941594] usb 2-2: New USB device found, idVendor=03f0, idProduct=094a
      [  112.984866] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
      [  113.027731] usb 2-2: Product: HP USB Optical Mouse
      [  113.069977] usb 2-2: Manufacturer: PixArt
      [  113.113500] input: PixArt HP USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/0003:03F0:094A.0002/input/input14
      [  113.156787] hid-generic 0003:03F0:094A.0002: input: USB HID v1.11 Mouse [PixArt HP USB Optical Mouse] on usb-0000:00:14.0-2/input0
      [  173.262642] usb 2-2: USB disconnect, device number 7
      [  174.750244] usb 2-2: new low-speed USB device number 8 using xhci_hcd
      [  174.935740] usb 2-2: New USB device found, idVendor=03f0, idProduct=094a
      [  174.990435] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
      [  175.014984] usb 2-2: Product: HP USB Optical Mouse
      [  175.037886] usb 2-2: Manufacturer: PixArt
      [  175.061794] input: PixArt HP USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/0003:03F0:094A.0003/input/input15
      [  175.084946] hid-generic 0003:03F0:094A.0003: input: USB HID v1.11 Mouse [PixArt HP USB Optical Mouse] on usb-0000:00:14.0-2/input0
      Signed-off-by: default avatarDave Young <dyoung@redhat.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      01cffe9d
    • Hans de Goede's avatar
      HID: core: lower log level for unknown main item tags to warnings · 7cb4774e
      Hans de Goede authored
      Given all the effort distros have done with splash-screens to give
      users a nice clean boot experience, we really want dmesg --level=err
      to not print anything unless there is a real problem with either the
      hardware or the kernel. Buggy HID descriptors unfortunately happen
      all too often, so lower the log level to warning keep the console
      clear of error messages such as:
      
      [  441.079664] apple 0005:05AC:0239.0003: unknown main item tag 0x0
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      7cb4774e
    • Colin Ian King's avatar
      HID: quirks: make array hid_quirks static · 332347d4
      Colin Ian King authored
      Array hid_quirks is local to the source and does not need to be in
      global scope, so make it static.
      
      Cleans up sparse warning:
      drivers/hid/hid-quirks.c:29:28: warning: symbol 'hid_quirks' was not
      declared. Should it be static?
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      332347d4
  4. 01 Dec, 2017 3 commits
  5. 24 Nov, 2017 1 commit
    • Jiri Kosina's avatar
      HID: elo: clear BTN_LEFT mapping · 9abd04af
      Jiri Kosina authored
      ELO devices have one Button usage in GenDesk field, which makes hid-input map
      it to BTN_LEFT; that confuses userspace, which then considers the device to be
      a mouse/touchpad instead of touchscreen.
      
      Fix that by unmapping BTN_LEFT and keeping only BTN_TOUCH in place.
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      9abd04af
  6. 22 Nov, 2017 4 commits
  7. 21 Nov, 2017 9 commits
    • Eudean Sun's avatar
      HID: cp2112: Fix I2C_BLOCK_DATA transactions · 542134c0
      Eudean Sun authored
      The existing driver erroneously treats I2C_BLOCK_DATA and BLOCK_DATA
      commands the same.
      
      For I2C_BLOCK_DATA reads, the length of the read is provided in
      data->block[0], but the length itself should not be sent to the slave. In
      contrast, for BLOCK_DATA reads no length is specified since the length
      will be the first byte returned from the slave. When copying data back
      to the data buffer, for an I2C_BLOCK_DATA read we have to take care not to
      overwrite data->block[0] to avoid overwriting the length. A BLOCK_DATA
      read doesn't have this concern since the first byte returned by the device
      is the length and belongs in data->block[0].
      
      For I2C_BLOCK_DATA writes, the length is also provided in data->block[0],
      but the length itself is not sent to the slave (in contrast to BLOCK_DATA
      writes where the length prefixes the data sent to the slave).
      
      This was tested on physical hardware using i2cdump with the i and s flags
      to test the behavior of I2C_BLOCK_DATA reads and BLOCK_DATA reads,
      respectively. Writes were not tested but the I2C_BLOCK_DATA write change
      is pretty simple to verify by inspection.
      Signed-off-by: default avatarEudean Sun <eudean@arista.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      542134c0
    • Jason Gerecke's avatar
      HID: wacom: Queue events with missing type/serial data for later processing · 83417206
      Jason Gerecke authored
      Userspace expects to receive tool type and serial number information
      for the active pen in the very first kernel report, if such data is
      supported by the hardware. While this expectation is not an issue for
      EMR devices, AES sensors will often send several packets worth of in-
      range data before relaying type/serial data to the kernel. Sending this
      data "late" can result in proximity-tracking issues by xf86-input-wacom,
      or an inability to distinguish different pens by input-wacom.
      
      Options for dealing with this situation include ignoring reports from
      the tablet until we get the necessary data, or using the information
      from the last-seen pen instead of the (eventual) real data. Neither
      option is particularly attractive: the former results in truncated
      strokes and the latter causes issues with switching between pens.
      
      This commit instead opts to queue up events with missing information
      until we receive a report which contains it. At that point, we can
      update the driver's state variables (id[0] and serial[0]) and replay
      the queued events.
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      83417206
    • Jason Gerecke's avatar
      HID: wacom: Properly handle AES serial number and tool type · 99acedad
      Jason Gerecke authored
      Current AES sensors relay tool type and serial number information with
      a different set of usages than those prescribed by the modern (i.e.
      MobileStudio Pro and newer) EMR tablet standard. To ensure the driver
      properly understands these usages, we modify them to be compatible.
      The identifying information is split across three consecutive fields:
      a 16-bit WACOM_HID_WT_SERIALNUMBER (which is more accurately described
      as WACOM_HID_WD_TOOLTYPE), a 32-bit HID_DG_TOOLSERIALNUMBER, and an
      8-bit 0xFF000000 (which should be WACOM_HID_WD_SERIALHI). While we're
      at it, we also define proper min/max values since may may be undefined
      on some devices.
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      99acedad
    • Niels Skou Olsen's avatar
      HID: Add special driver for Jabra devices · 19ca2827
      Niels Skou Olsen authored
      Add a hid-jabra driver to the list of special drivers in hid-core. The
      driver prevents vendor defined HID usages (FF00-FFFF) in Jabra devices
      from being mapped to input events, that become unintended mouse events
      in the X11 server.
      Signed-off-by: default avatarNiels Skou Olsen <nolsen@jabra.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      19ca2827
    • Niels Skou Olsen's avatar
      HID: Ignore Jabra HID interface based on firmware version · d5158e02
      Niels Skou Olsen authored
      Two Jabra speakerphone devices were added to the ignore list in 2013,
      because the device HID interfaces didn't work well with kernel usbhid
      driver, and could cause volume key event storm.
      
      See the original commit:
      Commit 31b9779c ("HID: ignore Jabra speakerphones HID interface")
      
      Modify hid_lookup_quirk() to consider the firmware version of these two
      devices, so that only versions older than a known good version are
      ignored.
      Signed-off-by: default avatarNiels Skou Olsen <nolsen@jabra.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      d5158e02
    • Benjamin Tissoires's avatar
      HID: core: remove the absolute need of hid_have_special_driver[] · e04a0442
      Benjamin Tissoires authored
      Most HID devices behave properly when they are used with hid-generic.
      Since kernel v4.12, we do not poll for input reports at plug in, so
      hid-generic should behave properly with all HID devices.
      
      There has been a long standing list of HID devices that have a special
      driver. It used to be just a few, but with time, this list went too big,
      and we can not ask users to know which HID special driver will pick up
      their device.
      
      We can teach hid-generic to be nice with others. If a device is not
      explicitly marked with HID_QUIRK_HAVE_SPECIAL_DRIVER, we can allow
      hid-generic to pick up the device as long as no other loaded HID driver
      will match the device.
      
      When the special driver appears, hid-generic can step back and let
      the special driver handling the device. In case this special driver
      is removed, this good old pal of hid-generic will rebind to the device.
      
      This basically makes the list hid_have_special_driver[] useless. It
      still allows to not see a hid-generic driver bound and removed during
      boot, so we can keep it around.
      
      This will also help other people to have a special HID driver without
      the need of recompiling hid-core.
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e04a0442
    • Benjamin Tissoires's avatar
      HID: core: move the list of ignored devices in hid-quirks.c · f745d162
      Benjamin Tissoires authored
      Better having all the devices quirks in one place.
      
      Note that this change introduces an initial lookup for the device in
      hid_gets_squirk(), which should not theoretically be required, but which
      actually allows to not have to reparse the list of ignored devices
      if we call hid_lookup_quirks twice.
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      f745d162
    • Benjamin Tissoires's avatar
      HID: quirks: move the list of special devices into a quirk · 6e65d9d5
      Benjamin Tissoires authored
      It is better to centralize the information of special devices in one
      single file. Instead of manually parsing the list of devices that
      have a special driver or those that need to be ignored, introduce
      HID_QUIRK_HAVE_SPECIAL_DRIVER and set the correct quirks while fetching
      those quirks.
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      6e65d9d5
    • Benjamin Tissoires's avatar
      HID: core: move the dynamic quirks handling in core · d5d3e202
      Benjamin Tissoires authored
      usbhid has a list of dynamic quirks in addition to a list of static quirks.
      There is not much USB specific in that, so move this part of the module
      in core so we can have one central place for quirks.
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      d5d3e202
  8. 15 Nov, 2017 6 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 20df1578
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - high resolution mode for Dell canvas support, from Benjamin Tissoires
      
       - pen handling fixes for the Wacom driver, from Jason Gerecke
      
       - i2c-hid: Apollo-Lake based laptops improvements, from Hans de Goede
      
       - Input/Core: eraser tool support, from Ping Cheng
      
       - new ALPS touchpad (T4, found currently on HP EliteBook 1000, Zbook
         Stduio and HP Elite book x360) supportm from Masaki Ota
      
       - other smaller assorted fixes
      
      * 'for-linus' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (33 commits)
        HID: cp2112: fix broken gpio_direction_input callback
        HID: cp2112: fix interface specification URL
        HID: Wacom: switch Dell canvas into highres mode
        HID: wacom: generic: Send BTN_STYLUS3 when both barrel switches are set
        HID: sony: Fix SHANWAN pad rumbling on USB
        HID: i2c-hid: Add no-irq-after-reset quirk for 0911:5288 device
        HID: add backlight level quirk for Asus ROG laptops
        HID: cp2112: add HIDRAW dependency
        HID: Add ID 044f:b605 ThrustMaster, Inc. force feedback Racing Wheel
        HID: hid-logitech: remove redundant assignment to pointer value
        HID: wacom: generic: Recognize WACOM_HID_WD_PEN as a type of pen collection
        HID: rmi: Check that a device is a RMI device before calling RMI functions
        HID: add multi-input quirk for GamepadBlock
        HID: alps: add new U1 device ID
        HID: alps: add support for Alps T4 Touchpad device
        HID: alps: remove variables local to u1_init() from the device struct
        HID: alps: properly handle max_fingers and minimum on X and Y axis
        HID: alps: Separate U1 device code
        HID: alps: delete unnecessary struct u1_dev devInfo
        HID: usbhid: Convert timers to use timer_setup()
        ...
      20df1578
    • Jiri Kosina's avatar
      Merge branch 'for-4.15/wacom' into for-linus · 01125b2d
      Jiri Kosina authored
      - High resolution mode for DEll canvas support, from Benjamin Tissoires
      - A lot of improvements to pen handling in the Wacom driver, from Jason Gerecke
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      01125b2d
    • Jiri Kosina's avatar
      Merge branch 'for-4.15/use-timer-setup' into for-linus · 4b545304
      Jiri Kosina authored
      - usbhid: conversion to timer_setup() and from_timer() from Kees Cook
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      4b545304
    • Jiri Kosina's avatar
      Merge branch 'for-4.15/upstream' into for-linus · 6ed7a70b
      Jiri Kosina authored
      - cp2112: GPIO error handling and Kconfig fixes from Sébastien Szymanski
      - i2c-hid: fixup / quirk for Apollo-Lake based laptops, from Hans de Goede
      - Input/Core: add eraser tool support, from Ping Cheng
      - small assorted code fixes
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      6ed7a70b
    • Jiri Kosina's avatar
      Merge branch 'for-4.15/sony' into for-linus · b50b9d3d
      Jiri Kosina authored
      - SHANWAN PS3 rumble fix from Bastien Nocera
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      b50b9d3d
    • Jiri Kosina's avatar
      Merge branch 'for-4.15/multitouch' into for-linus · ea3bbd0a
      Jiri Kosina authored
      - make sure that we forward MSC_TIMESTAMP in accordance to the specification,
        from Nicolas Boichat
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ea3bbd0a