Skip to content
Snippets Groups Projects
  1. Sep 05, 2017
  2. Aug 15, 2017
  3. Aug 10, 2017
  4. Aug 09, 2017
    • Srinivas Pandruvada's avatar
      HID: hid-sensor-hub: Force logical minimum to 1 for power and report state · b0f847e1
      Srinivas Pandruvada authored
      
      In the reference HID sensor hub firmware all Named array enums were
      0-based. There is no description of the default base of enums in HID
      sensor hub specification as logical minimum should have set this base
      value.
      
      Every sensor hub implemented enum as 1-based, without explicitly setting
      logical minimum to 1, because of the implementation by one of the major
      OS vendor. In Linux we used logical minimum to decide the enum base.
      
      Some sensor hub FWs already changed logical minimum from 0 to 1. We hoped
      that every other vendor will follow. But that didn't happen and we had to
      fix the report header for every sensor hub to change logical minimum to 1
      by using .report_fixup() callback. So for every new sensor hub we had to
      modify source code by adding this quirk based on the vendor and device id.
      This is becoming a maintenance burden.
      
      This patch hardcodes the logical minimum of power and report state
      attributes to 1. In this way we can remove the existing quirks and also
      we don't have to add more quirks.
      
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Acked-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      b0f847e1
  5. Aug 08, 2017
    • Jason Gerecke's avatar
      HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage · 8d411cbf
      Jason Gerecke authored
      
      The WACOM_HID_WD_TOUCHRINGSTATUS usage is a single bit which tells us
      whether the touchring is currently in use or not. Because we need to
      reset the axis value to 0 when the finger is removed, we call
      'wacom_map_usage' to ensure that the required type/code values are
      associated with the usage. The 'wacom_map_usage' also sets up the axis
      range and resolution, however, which is not desired in this particular
      case.
      
      Although xf86-input-wacom doesn't do really do anything with the ring's
      range or resolution, the libinput driver (for Wayland environments)
      uses these values to provide proper angle indications to userspace.
      
      Fixes: 60a22186 ("HID: wacom: generic: add support for touchring")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      8d411cbf
    • Hans de Goede's avatar
      HID: asus: Add T100CHI bluetooth keyboard dock touchpad support · 73c75d39
      Hans de Goede authored
      
      Put the touchpad in native (absolute coordinate mode) and export it to
      userspace as a touchpad rather then as a mouse.
      
      Note this requires HID_QUIRK_MULTI_INPUT as the T100CHI keyboard dock
      has all functionality on a single HID interface and userspace expects
      touchpads to be on a separate input_dev. Without MULTI_INPUT userspace
      will ignore the keyboard part of the keyboard/touchpad combo.
      
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      73c75d39
  6. Aug 03, 2017
  7. Aug 02, 2017
  8. Aug 01, 2017
  9. Jul 31, 2017
  10. Jul 27, 2017
    • Jason Gerecke's avatar
      HID: wacom: Improve generic name generation · 09dc28ac
      Jason Gerecke authored
      
      The 'wacom_update_name' function is responsible for producing names for
      the input device nodes based on the hardware device name. Commit f2209d4a
      added the ability to strip off prefixes like "Wacom Co.,Ltd." where the
      prefix was immediately (and redundantly) followed by "Wacom". The
      2nd-generation Intuos Pro 2 has such a prefix, but with a small error
      (the period and comma are swapped) that prevents the existing code from
      matching it. We're loath to extend the number of cases out endlessly and
      so instead try to be smarter about name generation.
      
      We observe that the cause of the redundant prefixes is HID combining the
      manufacturer and product strings of USB devices together. By using the
      original product name (with "Wacom" prefixed, if it does not already
      exist in the string) we can bypass the gyrations to find and remove
      redundant prefixes. Other devices either don't have a manufacturer string
      that needs to be removed (Bluetooth, uhid) or should have their name
      generated from scratch (I2C).
      
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Acked-By: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      09dc28ac
    • Jason Gerecke's avatar
      HID: introduce hid_is_using_ll_driver · fc2237a7
      Jason Gerecke authored
      
      Although HID itself is transport-agnostic, occasionally a driver may
      want to interact with the low-level transport that a device is connected
      through. To do this, we need to know what kind of bus is in use. The
      first guess may be to look at the 'bus' field of the 'struct hid_device',
      but this field may be emulated in some cases (e.g. uhid).
      
      More ideally, we can check which ll_driver a device is using. This
      function introduces a 'hid_is_using_ll_driver' function and makes the
      'struct hid_ll_driver' of the four most common transports accessible
      through hid.h.
      
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Acked-By: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      fc2237a7
  11. Jul 25, 2017
  12. Jul 24, 2017
  13. Jul 23, 2017
Loading