05 Mar, 2016

4 commits

  • Bring in updates to roraty encoder driver switching it away from legacy
    platform data and over to generic device properties and adding support
    for encoders using more than 2 GPIOs.

    Dmitry Torokhov
     
  • When changing the scan rate as part of runtime-resume process we may lose
    some of the events, because:

    1) for gen3 trackpads, the driver must msleep() some time to ensure that
    the device is ready to accept next command;

    2) for gen5 and later trackpads, the queue dumping function will simply
    ignore the events when waiting for the set power mode command response.

    The solution is to keep polling and report those valid events when the set
    power mode command is in progress.

    Signed-off-by: Dudley Du
    Tested-by: Jeremiah Mahler
    Signed-off-by: Dmitry Torokhov

    Dudley Du
     
  • A dependency on ARCH_SHMOBILE seems to be the best option for sh_keysc:

    * For Super H based SoCs: sh_keysc is used on SH_MIGOR, SH_ECOVEC, SH_KFR2R09,
    SH_7722_SOLUTION_ENGINE, and SH_7724_SOLUTION_ENGINE, which depend on
    either CPU_SUBTYPE_SH7722 or CPU_SUBTYPE_SH7724, and both select
    ARCH_SHMOBILE.

    * For ARM Based SoCs: Since the removal of legacy (non-multiplatform) support
    this driver has not been used by any Renesas ARM based SoCs. The Renesas
    ARM based SoCs currently select ARCH_SHMOBILE, however, it is planned
    that this will no longer be the case.

    This is part of an ongoing process to migrate from ARCH_SHMOBILE to
    ARCH_RENESAS the motivation for which being that RENESAS seems to be a more
    appropriate name than SHMOBILE for the majority of Renesas ARM based SoCs.

    Signed-off-by: Simon Horman
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Dmitry Torokhov

    Simon Horman
     
  • Add support for retrieving device resolution (pixels per mm) from firmware
    and using it when setting up input device.

    Signed-off-by: Sangwon Jee
    Signed-off-by: Dmitry Torokhov

    Sangwon Jee
     

03 Mar, 2016

11 commits

  • This changes how the used gpios are stored (i.e. a struct gpio_descs
    instead of two struct gpio_desc) and as with >2 gpios the states are
    numbered differently the function rotary_encoder_get_state returns
    unencoded numbers instead of grey encoded numbers before. The latter has
    some implications on how the returned value is used and so the change is
    bigger than one might expect at first.

    Signed-off-by: Uwe Kleine-König
    Acked-by: Rob Herring
    Acked-by: Daniel Mack
    Signed-off-by: Dmitry Torokhov

    Uwe Kleine-König
     
  • Drop support for platform data passed via a C-structure and switch to
    device properties instead, which should make the driver compatible with all
    platforms: OF, ACPI and static boards. Static boards should use property
    sets to communicate device parameters to the driver.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • commit e4b88e19897f1039fd83f1630517becafc0dd163
    "Input: stmpe-ts - enforce device tree only mode"
    removed platform data but accidentally stripped away useful
    kerneldoc, so reintroduce it.

    Signed-off-by: Linus Walleij
    Signed-off-by: Dmitry Torokhov

    Linus Walleij
     
  • The SNVS power key driver has suspend/resume functions that
    are accessed using SIMPLE_DEV_PM_OPS, which hide the reference
    when CONFIG_PM_SLEEP is not set, resulting in a warning about
    unused functions:

    drivers/input/keyboard/snvs_pwrkey.c:183:12: error: 'imx_snvs_pwrkey_suspend' defined but not used [-Werror=unused-function]
    drivers/input/keyboard/snvs_pwrkey.c:194:12: error: 'imx_snvs_pwrkey_resume' defined but not used [-Werror=unused-function]

    This adds __maybe_unused annotations to let the compiler know
    it can silently drop the function definition.

    Signed-off-by: Arnd Bergmann
    Acked-by: Frank Li
    Signed-off-by: Dmitry Torokhov

    Arnd Bergmann
     
  • The spear keyboard driver uses #ifdef CONFIG_PM to hide its
    power management functions, but then uses references from
    SIMPLE_DEV_PM_OPS that are only present if both CONFIG_PM
    and CONFIG_PM_SLEEP are set, resulting in a warning about unused
    functions:

    drivers/input/keyboard/spear-keyboard.c:292:12: error: 'spear_kbd_suspend' defined but not used [-Werror=unused-function]
    drivers/input/keyboard/spear-keyboard.c:345:12: error: 'spear_kbd_resume' defined but not used [-Werror=unused-function]

    This removes the #ifdef and instead uses a __maybe_unused
    annotation.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Dmitry Torokhov

    Arnd Bergmann
     
  • Add ACPI binding to the goldfish events driver.

    Signed-off-by: Jason Hu
    Signed-off-by: Jin Qian
    Signed-off-by: Alan
    Signed-off-by: Dmitry Torokhov

    Jason Hu
     
  • Add device tree bindings to the Goldfish virtual platform event driver.

    Signed-off-by: Greg Hackmann
    Signed-off-by: Jin Qian
    Signed-off-by: Alan
    Signed-off-by: Dmitry Torokhov

    Greg Hackmann
     
  • Instead of manipulating capability bits directly let's use appropriate
    helpers. Also there is no need to explicitly set EV_ABS when calling
    input_set_abs_params().

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Instead of using old GPIO API, let's switch to GPIOD API, which
    automatically handles polarity.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Instead of guarding PM methods with #ifdef let's mark them as
    __maybe_unused as it allows for better compile coverage.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Convert to use threaded IRQs to support GPIOs that can sleep.
    Protect the irq handler with mutex as it can be triggered from
    two different irq lines accessing the same state.

    This allows using GPIO expanders behind I2C or SPI bus.

    Signed-off-by: Timo Teräs
    Signed-off-by: Dmitry Torokhov

    Timo Teräs
     

18 Feb, 2016

1 commit

  • This is an input driver for MELFAS MIP4 Touchscreen devices, such as
    MMS400, MMS500, MCS8000, MIT200, MIT300, MIT400, MFS10. All devices
    implementing MIP4 protocol (MELFAS Interface Protocol Version 4) should
    be supported by this driver.

    Signed-off-by: Sangwon Jee
    Signed-off-by: Dmitry Torokhov

    Sangwon Jee
     

10 Feb, 2016

1 commit

  • The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is
    not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer
    functionality only, can still be compiled if GPIOLIB is not enabled.

    If COMPILE_TEST is enabled, relax the dependency on GPIOLIB for the
    recently introduced or relaxed symbols TOUCHSCREEN_GOODIX and
    TOUCHSCREEN_COLIBRI_VF50.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Dmitry Torokhov

    Geert Uytterhoeven
     

28 Jan, 2016

5 commits


19 Jan, 2016

1 commit


13 Jan, 2016

4 commits


12 Jan, 2016

2 commits

  • Both T100 and T9 handle range and orientation in a similar fashion.
    Reduce duplication between the two implementations.

    Signed-off-by: Nick Dyer
    Signed-off-by: Dmitry Torokhov

    Nick Dyer
     
  • When using a protocol v2 or v3 hardware, elantech uses the function
    elantech_report_semi_mt_data() to report data. This devices are rather
    creepy because if num_finger is 3, (x2,y2) is (0,0). Yes, only one valid
    touch is reported.

    Anyway, userspace (libinput) is now confused by these (0,0) touches,
    and detect them as palm, and rejects them.

    Commit 3c0213d17a09 ("Input: elantech - fix semi-mt protocol for v3 HW")
    was sufficient enough for xf86-input-synaptics and libinput before it has
    palm rejection. Now we need to actually tell libinput that this device is
    a semi-mt one and it should not rely on the actual values of the 2 touches.

    Cc: stable@vger.kernel.org
    Signed-off-by: Benjamin Tissoires
    Signed-off-by: Dmitry Torokhov

    Benjamin Tissoires
     

11 Jan, 2016

3 commits

  • As of e0361b70175 ("Input: wacom_w8001 - split the touch and pen devices
    into two devices") the touch events aren't multiplexed over the same device
    anymore, the use of ABS_MT_TOOL_TYPE is superfluous. And even before then
    it only ever sent MT_TOOL_TYPE_FINGER anyway.

    Signed-off-by: Peter Hutterer
    Signed-off-by: Dmitry Torokhov

    Peter Hutterer
     
  • Linus Torvalds
     
  • Commit 4ea14a53d8f881034fa9e186653821c4e3d9a8fb ("Input: gpio-keys - report
    error when disabling unsupported key") tried let user know that they
    attempted to disable an unsupported key, unfortunately the check is wrong
    as it believes that all codes are invalid. Fix it by ensuring that keys
    that we try to disable are subset of keys (or switches) that device
    reports.

    Fixes: 4ea14a53d8f8 ("Input: gpio-keys - report error when disabling unsupported key")
    Reported-by: Ivaylo Dimitrov
    Tested-by: Ivaylo Dimitrov
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

10 Jan, 2016

2 commits


09 Jan, 2016

6 commits

  • kernel test robot has reported the following crash:

    BUG: unable to handle kernel NULL pointer dereference at 00000100
    IP: [] __queue_work+0x26/0x390
    *pdpt = 0000000000000000 *pde = f000ff53f000ff53 *pde = f000ff53f000ff53
    Oops: 0000 [#1] PREEMPT PREEMPT SMP SMP
    CPU: 0 PID: 24 Comm: kworker/0:1 Not tainted 4.4.0-rc4-00139-g373ccbe #1
    Workqueue: events vmstat_shepherd
    task: cb684600 ti: cb7ba000 task.ti: cb7ba000
    EIP: 0060:[] EFLAGS: 00010046 CPU: 0
    EIP is at __queue_work+0x26/0x390
    EAX: 00000046 EBX: cbb37800 ECX: cbb37800 EDX: 00000000
    ESI: 00000000 EDI: 00000000 EBP: cb7bbe68 ESP: cb7bbe38
    DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    CR0: 8005003b CR2: 00000100 CR3: 01fd5000 CR4: 000006b0
    Stack:
    Call Trace:
    __queue_delayed_work+0xa1/0x160
    queue_delayed_work_on+0x36/0x60
    vmstat_shepherd+0xad/0xf0
    process_one_work+0x1aa/0x4c0
    worker_thread+0x41/0x440
    kthread+0xb0/0xd0
    ret_from_kernel_thread+0x21/0x40

    The reason is that start_shepherd_timer schedules the shepherd work item
    which uses vmstat_wq (vmstat_shepherd) before setup_vmstat allocates
    that workqueue so if the further initialization takes more than HZ we
    might end up scheduling on a NULL vmstat_wq. This is really unlikely
    but not impossible.

    Fixes: 373ccbe59270 ("mm, vmstat: allow WQ concurrency to discover memory reclaim doesn't make any progress")
    Reported-by: kernel test robot
    Signed-off-by: Michal Hocko
    Tested-by: Tetsuo Handa
    Cc: stable@vger.kernel.org
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "This is the final small set of ARM SoC bug fixes for linux-4.4, almost
    all regressions:

    OMAP:
    - data corruption on the Nokia N900 flash

    Allwinner:
    - Two defconfig change to get USB working again

    ARM Versatile:
    - Interrupt numbers gone bad after an older bug fix

    Nomadik:
    - Crashes from incorrect L2 cache settings

    VIA vt8500:
    - SD/MMC support on WM8650 never worked"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    dts: vt8500: Add SDHC node to DTS file for WM8650
    ARM: Fix broken USB support in multi_v7_defconfig for sunxi devices
    ARM: versatile: fix MMC/SD interrupt assignment
    ARM: nomadik: set latencies to 8 cycles
    ARM: OMAP2+: Fix onenand rate detection to avoid filesystem corruption
    ARM: Fix broken USB support in sunxi_defconfig

    Linus Torvalds
     
  • Pull KVM fix from Paolo Bonzini:
    "A simple fix. I'm sending it before the merge window, because it
    refines a patch found in your master branch but not yet in the
    kvm/next branch that is destined for 4.5"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    kvm: x86: only channel 0 of the i8254 is linked to the HPET

    Linus Torvalds
     
  • Pull ACPI fix from Rafael Wysocki:
    "Just one obvious fix that adds a missing function argument in ACPI
    code introduced recently (Kees Cook)"

    * tag 'pm+acpi-4.4-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / property: avoid leaking format string into kobject name

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "A handful of x86 fixes:

    - a syscall ABI fix, fixing an Android breakage
    - a Xen PV guest fix relating to the RTC device, causing a
    non-working console
    - a Xen guest syscall stack frame fix
    - an MCE hotplug CPU crash fix"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/numachip: Fix NumaConnect2 MMCFG PCI access
    x86/entry: Restore traditional SYSENTER calling convention
    x86/entry: Fix some comments
    x86/paravirt: Prevent rtc_cmos platform device init on PV guests
    x86/xen: Avoid fast syscall path for Xen PV guests
    x86/mce: Ensure offline CPUs don't participate in rendezvous process

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Misc scheduler fixes"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/core: Reset task's lockless wake-queues on fork()
    sched/core: Fix unserialized r-m-w scribbling stuff
    sched/core: Check tgid in is_global_init()
    sched/fair: Fix multiplication overflow on 32-bit systems

    Linus Torvalds