1. 12 Nov, 2018 3 commits
    • Brian Norris's avatar
      Input: cros_ec_keyb - fix button/switch capability reports · ac5722c1
      Brian Norris authored
      The cros_ec_keyb_bs array lists buttons and switches together, expecting
      that its users will match the appropriate type and bit fields. But
      cros_ec_keyb_register_bs() only checks the 'bit' field, which causes
      misreported input capabilities in some cases. For example, tablets
      (e.g., Scarlet -- a.k.a. Acer Chromebook Tab 10) were reporting a SW_LID
      capability, because EC_MKBP_POWER_BUTTON and EC_MKBP_LID_OPEN happen to
      share the same bit.
      
      (This has comedic effect on a tablet, in which a power-management daemon
      then thinks this "lid" is closed, and so puts the system to sleep as
      soon as it boots!)
      
      To fix this, check both the 'ev_type' and 'bit' fields before reporting
      the capability.
      
      Tested with a lid (Kevin / Samsung Chromebook Plus) and without a lid
      (Scarlet / Acer Chromebook Tab 10).
      
      This error got introduced when porting the feature from the downstream
      Chromium OS kernel to be upstreamed.
      
      Fixes: cdd7950e ("input: cros_ec_keyb: Add non-matrix buttons and switches")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
      Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      ac5722c1
    • Patrick Gaskin's avatar
      Input: elan_i2c - add ELAN0620 to the ACPI table · 3ed64da3
      Patrick Gaskin authored
      Add ELAN0620 to the ACPI table to support the elan touchpad in
      the Lenovo IdeaPad 130-15IKB.
      Signed-off-by: default avatarPatrick Gaskin <patrick@pgaskin.net>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      3ed64da3
    • Christian Hoff's avatar
      Input: matrix_keypad - check for errors from of_get_named_gpio() · d55bda1b
      Christian Hoff authored
      "of_get_named_gpio()" returns a negative error value if it fails
      and drivers should check for this. This missing check was now
      added to the matrix_keypad driver.
      
      In my case "of_get_named_gpio()" returned -EPROBE_DEFER because
      the referenced GPIOs belong to an I/O expander, which was not yet
      probed at the point in time when the matrix_keypad driver was
      loading. Because the driver did not check for errors from the
      "of_get_named_gpio()" routine, it was assuming that "-EPROBE_DEFER"
      is actually a GPIO number and continued as usual, which led to further
      errors like this later on:
      
      WARNING: CPU: 3 PID: 167 at drivers/gpio/gpiolib.c:114
      gpio_to_desc+0xc8/0xd0
      invalid GPIO -517
      
      Note that the "GPIO number" -517 in the error message above is
      actually "-EPROBE_DEFER".
      
      As part of the patch a misleading error message "no platform data defined"
      was also removed. This does not lead to information loss because the other
      error paths in matrix_keypad_parse_dt() already print an error.
      Signed-off-by: default avatarChristian Hoff <christian_hoff@gmx.net>
      Suggested-by: default avatarSebastian Reichel <sre@kernel.org>
      Reviewed-by: default avatarSebastian Reichel <sre@kernel.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      d55bda1b
  2. 22 Oct, 2018 1 commit
  3. 19 Oct, 2018 1 commit
  4. 17 Oct, 2018 1 commit
  5. 15 Oct, 2018 4 commits
  6. 12 Oct, 2018 1 commit
    • Hans de Goede's avatar
      Input: of_touchscreen - add support for touchscreen-min-x|y · d9265e8a
      Hans de Goede authored
      Some touchscreens, depending on the firmware and/or the digitizer, report
      coordinates which never reach 0 along one or both of their axis.
      
      This has been seen for example on the Silead touchscreens on a Onda V891w
      and a Point of View mobii TAB-P800w(v2.0).
      
      This commit adds support for touchscreen-min-x and touchscreen-min-y
      device-properties which can be set to communicate the actual start
      coordinates (rather then 0,0) to userspace.
      
      This commit also drop the "(in pixels)" comment from the documentation
      of the touchscreen-size-x and touchscreen-size-y properties. The comment
      suggested that there is a relation between the range of reported
      coordinates and the display resolution, which is only true for some
      devices. The "(in pixels)" comment is replaced with "(maximum x coordinate
      reported + 1)" to mirror the language describing the new touchscreen-min-x
      and -min-y properties.
      
      When set this fixes e.g. not being able to click things in the GNOME3
      top-bar on the 2 example tablets.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      d9265e8a
  7. 11 Oct, 2018 2 commits
  8. 05 Oct, 2018 5 commits
  9. 01 Oct, 2018 3 commits
  10. 29 Sep, 2018 3 commits
  11. 18 Sep, 2018 6 commits
  12. 16 Aug, 2018 1 commit
  13. 08 Aug, 2018 4 commits
  14. 02 Aug, 2018 3 commits
  15. 01 Aug, 2018 2 commits