01 Jan, 2015

1 commit


31 Dec, 2014

1 commit

  • Pull input layer fixes from Dmitry Torokhov:
    "Fixes for v7 protocol for ALPS devices and few other driver fixes.

    Also users can request input events to be stamped with boot time
    timestamps, in addition to real and monotonic timestamps"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: hil_kbd - fix incorrect use of init_completion
    Input: alps - v7: document the v7 touchpad packet protocol
    Input: alps - v7: fix finger counting for > 2 fingers on clickpads
    Input: alps - v7: sometimes a single touch is reported in mt[1]
    Input: alps - v7: ignore new packets
    Input: evdev - add CLOCK_BOOTTIME support
    Input: psmouse - expose drift duration for IBM trackpoints
    Input: stmpe - bias keypad columns properly
    Input: stmpe - enforce device tree only mode
    mfd: stmpe: add pull up/down register offsets for STMPE
    Input: optimize events_per_packet count calculation
    Input: edt-ft5x06 - fixed a macro coding style issue
    Input: gpio_keys - replace timer and workqueue with delayed workqueue
    Input: gpio_keys - allow separating gpio and irq in device tree

    Linus Torvalds
     

28 Dec, 2014

1 commit


19 Dec, 2014

5 commits

  • Second round of input updates for 3.19.

    Dmitry Torokhov
     
  • Add a table documenting where all the bits are in the v7 touchpad packets.

    Signed-off-by: Hans de Goede
    Signed-off-by: Dmitry Torokhov

    Hans de Goede
     
  • Protocol v7 uses the middle / right button bits on clickpads to communicate
    "location" information of a 3th touch (and possible 4th) touch on
    clickpads.

    Specifically when 3 touches are down, if one of the 3 touches is in the
    left / right button area, this will get reported in the middle / right
    button bits and the touchpad will still send a TWO type packet rather then
    a MULTI type packet, so when this happens we must add the finger reported
    in the button area to the finger count.

    Likewise we must also add fingers reported this way to the finger count
    when we get MULTI packets.

    BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=86338
    Cc: stable@vger.kernel.org # 3.17
    Signed-off-by: Hans de Goede
    Tested-by: Benjamin Tissoires
    Signed-off-by: Dmitry Torokhov

    Hans de Goede
     
  • The v7 proto differentiates between a primary touch (with high precision)
    and a secondary touch (with lower precision). Normally when 2 fingers are
    down and one is lifted the still present touch becomes the primary touch,
    but some traces have shown that this does not happen always.

    This commit deals with this by making alps_get_mt_count() not stop at the
    first empty mt slot, and if a touch is present in mt[1] and not mt[0]
    moving the data to mt[0] (for input_mt_assign_slots).

    BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=86338
    Cc: stable@vger.kernel.org # 3.17
    Signed-off-by: Hans de Goede
    Tested-by: Benjamin Tissoires
    Signed-off-by: Dmitry Torokhov

    Hans de Goede
     
  • NEW packets are send to indicate a discontinuity in the finger coordinate
    reporting. Specifically a finger may have moved from slot 0 to 1 or vice
    versa. INPUT_MT_TRACK takes care of this for us.

    NEW packets have 3 problems:
    1) They do not contain middle / right button info (on non clickpads)
    this can be worked around by preserving the old button state
    2) They do not contain an accurate fingercount, and they are
    typically send when the number of fingers changes. We cannot use
    the old finger count as that may mismatch with the amount of
    touch coordinates we've available in the NEW packet
    3) Their x data for the second touch is inaccurate leading to
    a possible jump of the x coordinate by 16 units when the first
    non NEW packet comes in

    Since problems 2 & 3 cannot be worked around, just ignore them.

    BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=86338
    Cc: stable@vger.kernel.org # 3.17
    Signed-off-by: Hans de Goede
    Tested-by: Benjamin Tissoires
    Signed-off-by: Dmitry Torokhov

    Hans de Goede
     

18 Dec, 2014

3 commits

  • This patch adds support for CLOCK_BOOTTIME for input event timestamp.
    CLOCK_BOOTTIME includes suspend time, so it would allow aplications
    to get correct time difference between two events even when system
    resumes from suspend state.

    Signed-off-by: Aniroop Mathur
    Signed-off-by: Dmitry Torokhov

    Aniroop Mathur
     
  • IBM Trackpoints have a feature to compensate for drift by recalibrating
    themselves periodically. By default, if for 0.5 seconds there is no change
    in position, it's used as the new zero. This duration is too low. Often,
    the calibration happens when the trackpoint is in fact being used.

    IBM's Trackpoint Engineering Specifications show a configuration register
    that allows changing this duration, rstdft1.

    Expose it via sysfs among the other settings.

    Signed-off-by: Mike Murdoch
    Signed-off-by: Dmitry Torokhov

    haarp
     
  • Pull input subsystem updates from Dmitry Torokhov:
    "Two new drivers for Elan hardware (for I2C touchpad and touchscreen
    found in several Chromebooks and other devices), a driver for Goodix
    touch panel, and small fixes to Cypress I2C trackpad and other input
    drivers.

    Also we switched to use __maybe_unused instead of gating suspend/
    resume code with #ifdef guards to get better compile coverage"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (27 commits)
    Input: gpio_keys - fix warning regarding uninitialized 'button' variable
    Input: add support for Elan eKTH I2C touchscreens
    Input: gpio_keys - fix warning regarding uninitialized 'irq' variable
    Input: cyapa - use 'error' for error codes
    Input: cyapa - fix resuming the device
    Input: gpio_keys - add device tree support for interrupt only keys
    Input: amikbd - allocate temporary keymap buffer on the stack
    Input: amikbd - fix build if !CONFIG_HW_CONSOLE
    Input: lm8323 - missing error check in lm8323_set_disable()
    Input: initialize device counter variables with -1
    Input: initialize input_no to -1 to avoid subtraction
    Input: i8042 - do not try to load on Intel NUC D54250WYK
    Input: atkbd - correct MSC_SCAN events for force_release keys
    Input: cyapa - switch to using managed resources
    Input: lifebook - use "static inline" instead of "inline" in lifebook.h
    Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume
    Input: mouse - use __maybe_unused instead of ifdef around suspend/resume
    Input: misc - use __maybe_unused instead of ifdef around suspend/resume
    Input: cap11xx - support for irq-active-high option
    Input: cap11xx - add support for various cap11xx devices
    ...

    Linus Torvalds
     

16 Dec, 2014

7 commits


15 Dec, 2014

2 commits

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     
  • Commit af906faabcf91eb1 ("Input: gpio_keys - fix warning regarding uninitialized
    'irq' variable") introduced the following build warning:

    drivers/input/keyboard/gpio_keys.c:625:16: warning: 'button' may be used uninitialized in this function [-Wmaybe-uninitialized]

    Move the 'button' initialization to a proper location to avoid such warning.

    Reported-by: Olof's autobuilder
    Signed-off-by: Fabio Estevam
    Signed-off-by: Dmitry Torokhov

    Fabio Estevam
     

09 Dec, 2014

2 commits

  • * pm-runtime: (25 commits)
    i2c-omap / PM: Drop CONFIG_PM_RUNTIME from i2c-omap.c
    dmaengine / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    drivers: sh / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    e1000e / igb / PM: Eliminate CONFIG_PM_RUNTIME
    MMC / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    MFD / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    misc / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    media / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    input / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    iio / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    hsi / OMAP / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    i2c-hid / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    drm / exynos / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    gpio / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    hwrandom / exynos / PM: Use CONFIG_PM in #ifdef
    block / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    USB / PM: Drop CONFIG_PM_RUNTIME from the USB core
    PM: Merge the SET*_RUNTIME_PM_OPS() macros
    PM / Kconfig: Do not select PM directly from Kconfig files
    PCI / PM: Drop CONFIG_PM_RUNTIME from the PCI core
    ...

    Rafael J. Wysocki
     
  • * device-properties:
    leds: leds-gpio: Fix multiple instances registration without 'label' property
    leds: leds-gpio: Fix legacy GPIO number case
    ACPI / property: Drop size_prop from acpi_dev_get_property_reference()
    leds: leds-gpio: Convert gpio_blink_set() to use GPIO descriptors
    ACPI / GPIO: Document ACPI GPIO mappings API
    net: rfkill: gpio: Add default GPIO driver mappings for ACPI
    ACPI / GPIO: Driver GPIO mappings for ACPI GPIOs
    input: gpio_keys_polled: Make use of device property API
    leds: leds-gpio: Make use of device property API
    gpio: Support for unified device properties interface
    Driver core: Unified interface for firmware node properties
    input: gpio_keys_polled: Add support for GPIO descriptors
    leds: leds-gpio: Add support for GPIO descriptors
    gpio: sch: Consolidate core and resume banks
    gpio / ACPI: Add support for _DSD device properties
    misc: at25: Make use of device property API
    ACPI: Allow drivers to match using Device Tree compatible property
    Driver core: Unified device properties interface for platform firmware
    ACPI: Add support for device specific properties

    Rafael J. Wysocki
     

08 Dec, 2014

2 commits

  • This driver supports Elan eKTH I2C touchscreen controllers. Note that these
    are using custom protocol, as opposed to other Elan parts that use
    HID-over-I2C and are supported by the standard HID-multitouch driver.

    Signed-off-by: Scott Liu
    Signed-off-by: Dmitry Torokhov

    Scott Liu
     
  • Commit f2d347ff70be453e ("Input: gpio_keys - add device tree support for
    interrupt only keys") caused the following build warning:

    drivers/input/keyboard/gpio_keys.c: In function 'gpio_keys_probe':
    drivers/input/keyboard/gpio_keys.c:647:15: warning: 'irq' may be used uninitialized in this function [-Wmaybe-uninitialized]
    drivers/input/keyboard/gpio_keys.c:622:7: note: 'irq' was declared here

    Move button->irq initialization into proper branch and get rid of the
    temporary.

    Reported-by: Olof's autobuilder
    Reported-by: Fabio Estevam
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

05 Dec, 2014

2 commits

  • After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
    selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
    depending on CONFIG_PM_RUNTIME may now be changed to depend on
    CONFIG_PM.

    The alternative of CONFIG_PM_SLEEP and CONFIG_PM_RUNTIME may be
    replaced with CONFIG_PM too.

    Make these changes in 2 files under drivers/input/.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Jingoo Han
    Reviewed-by: Ferruh Yigit
    Acked-by: Dmitry Torokhov

    Rafael J. Wysocki
     
  • Let's use 'error' variable instead of 'ret' when we need to store erro
    codes.

    Signed-off-by: Dudley Du
    Signed-off-by: Dmitry Torokhov

    Dudley Du
     

04 Dec, 2014

7 commits


03 Dec, 2014

2 commits


28 Nov, 2014

1 commit

  • Pull input layer fixes from Dmitry Torokhov:
    "The main change is to fix breakage in Elantech driver introduced by
    the recent commit adding trackpoint reporting to protocol v4. Now we
    are trusting the hardware to advertise the trackpoint properly and do
    not try to decode the data as trackpoint if firmware told us it is not
    present"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: xpad - use proper endpoint type
    Input: elantech - trust firmware about trackpoint presence
    Input: synaptics - adjust min/max on Thinkpad E540

    Linus Torvalds
     

25 Nov, 2014

2 commits

  • The xpad wireless endpoint is not a bulk endpoint on my devices, but
    rather an interrupt one, so the USB core complains when it is submitted.
    I'm guessing that the author really did mean that this should be an
    interrupt urb, but as there are a zillion different xpad devices out
    there, let's cover out bases and handle both bulk and interrupt
    endpoints just as easily.

    Signed-off-by: "Pierre-Loup A. Griffais"
    Signed-off-by: Greg Kroah-Hartman
    Cc: stable
    Signed-off-by: Dmitry Torokhov

    Greg Kroah-Hartman
     
  • Only try to parse data as coming from trackpoint if firmware told us that
    trackpoint is present.

    Fixes commit caeb0d37fa3e387eb0dd22e5d497523c002033d1

    Reported-and-tested-by: Marcus Overhagen
    Reported-and-tested-by: Anders Kaseorg
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

17 Nov, 2014

2 commits

  • Without the change either no scancode would be reported on release of
    force_release keys, or - if the key is marked as force_release erroneously
    - the release event and the scancode would be reported in separate reports
    to the input layer.

    Signed-off-by: Stefan Brüns
    Signed-off-by: Dmitry Torokhov

    Stefan Brüns
     
  • The LEN2006 Synaptics touchpad (as found in Thinkpad E540) returns wrong
    min max values.

    touchpad-edge-detector output:
    > Touchpad SynPS/2 Synaptics TouchPad on /dev/input/event6
    > Move one finger around the touchpad to detect the actual edges
    > Kernel says: x [1472..5674], y [1408..4684]
    > Touchpad sends: x [1264..5675], y [1171..4688]

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=88211
    Cc: stable@vger.kernel.org
    Signed-off-by: Binyamin Sagal
    Signed-off-by: Dmitry Torokhov

    Ben Sagal