07 Jul, 2015

1 commit


24 Jun, 2015

3 commits


15 Apr, 2015

1 commit

  • With the recent pinctrl-single changes, SoCs such as Texas
    Instrument's OMAP processors can treat wake-up events from deeper idle
    states as interrupts.

    This adds support for the optional second interrupt for wake-up
    events to the pixcir_i2c_ts driver.

    This is similar in approach to commit 05bed213b91f ("drivers/rtc/
    rtc-ds1307.c: Support optional wakeup interrupt source"), but we create
    a second ISR only to acknowledge the wake interrupt.

    Signed-off-by: Dave Gerlach
    Acked-by: Roger Quadros
    Signed-off-by: Sekhar Nori

    Dave Gerlach
     

12 Mar, 2015

1 commit


27 Feb, 2015

1 commit

  • Frequently when a pen up event occurs the sampling for the previous pen down
    event ends up being incomplete. From a userspace perspective you will see an
    abnormal jump when comparing the pen down events to the one right before the
    pen up event.

    To avoid this issue delay sending a pen down event until the next touch
    event has occurred. If the current touch event is not a pen up event then
    send the previously detected pen down values. If the current touch event is
    a pen up then simply ignore the previous pen down value.

    Signed-off-by: Franklin S Cooper Jr.
    Acked-by: Vignesh R
    Signed-off-by: Sekhar Nori

    Franklin S Cooper Jr
     

05 Feb, 2015

1 commit

  • [ Upstream commit bf223612a4cd65d5eb15d6adc8422c7d61ae75dd ]

    This patch reads charge delay from tsc DT node and writes to
    REG_CHARGEDELAY register. If the charge delay is not specified in DT then
    default value of 0x400(CHARGEDLY_OPENDLY) is used.

    Signed-off-by: Vignesh R
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Sekhar Nori

    Vignesh R
     

19 Nov, 2014

1 commit

  • Because with OF we can pass more specific
    compatible flags (such as edt-ft5306) instead
    of generic edt-ft5x06, when i2c-core's
    of_i2c_register_devices() tries to request_module(),
    it'll request it with a non-existent specific module
    alias.

    In order to have this driver autoprobing again, we
    just need to add missing MODULE_ALIAS() entries to
    edt-ft5x06 driver.

    Thanks to Dmitry for noticing that it actually should
    autoprobe even with of_device_id.

    Cc: Dmitry Torokhov
    Cc:
    Cc: # v3.15+
    Fixes: dac90dc2 (Input: edt-ft5x06 - add DT support)
    Signed-off-by: Felipe Balbi
    Signed-off-by: Sekhar Nori

    Felipe Balbi
     

25 Sep, 2014

1 commit

  • Remove write to REG_IRQCLR and REG_IRQWAKEUP in interrupt handler for
    IRQENB_HW_PEN as the resume handler should and does clear REG_IRQWAKEUP.
    IRQENB_HW_PEN bit is set in irqclr so that all interrupts get cleared
    later so let IRQENB_HW_PEN be cleared by that.

    Without this patch wake events from TSC_ADC do not work because pending
    interrupts in TSC_ADC were causing HW_PEN interrupt, needed for wake from
    DS0, to get disabled immediately by IRQ handler after being enabled.

    Signed-off-by: Dave Gerlach
    Signed-off-by: Sekhar Nori

    Dave Gerlach
     

24 Sep, 2014

2 commits

  • TSC interrupt handler had udelay to avoid reporting of false pen-up
    interrupt to user space. This patch implements workaround suggesting in
    Advisory 1.0.31 of silicon errata for am335x, thus eliminating udelay
    and touchscreen lag. This also improves performance of touchscreen and
    eliminates sudden jump of cursor at touch release.

    IDLECONFIG and CHARGECONFIG registers are to be configured
    with same values in order to eliminate false pen-up events. This
    workaround may result in false pen-down to be detected, hence considerable
    charge step delay needs to be added.

    TSC steps are disabled at the end of every sampling cycle and EOS bit is
    set. Once the EOS bit is set, the TSC steps need to be re-enabled to begin
    next sampling cycle.

    In one shot mode, sequencer automatically disables all enabled steps at
    the end of each cycle. (both ADC steps and TSC steps) Hence these steps
    need not be saved in reg_se_cache for clearing these steps at a later
    stage.

    Signed-off-by: Brad Griffis
    [vigneshr@ti.com: Ported patch from v3.12 to v3.14]
    Signed-off-by: Vignesh R
    Signed-off-by: Sekhar Nori

    Brad Griffis
     
  • This patch makes the initial changes required to workaround TSC-false
    pen-up interrupts. It is required to implement these changes in order to
    remove udelay in the TSC interrupt handler and false pen-up events.
    The charge step is to be executed immediately after sampling X+. Hence
    TSC is made to use higher numbered steps (steps 5 to 16 for 5 co-ordinate
    readouts, 4 wire TSC configuration) and ADC to use lower ones. Further
    X co-ordinate readouts must be the last to be sampled, thus co-ordinates
    are sampled in the order Y-Z-X.

    Signed-off-by: Brad Griffis
    [vigneshr@ti.com: Ported the patch from v3.12 to v3.14]
    Signed-off-by: Vignesh R
    Signed-off-by: Sekhar Nori

    Brad Griffis
     

18 Sep, 2014

1 commit

  • Upstream commit 9d469d033d13 ("Input: atmel_mxt_ts - use
    deep sleep mode when stopped") removes reset of touchscreen
    chip during resume calling it "counterproductive" and "resulting
    in a long delay".

    During testing on TI DRA7x EVM, this chip reset is seen to result
    in large stream of "__mxt_read_reg: i2c transfer failed (-121)"
    messages due to an interrupt occurring while the chip is in
    reset (why the touchscreen interrupt triggers is still unknown).

    Remove chip reset during resume like upstream code.

    Power consumption should remain the same before and after this patch
    as we only remove reset from resume and do not touch suspend path (which
    incidentally does not issue a reset).

    Acked-by: Felipe Balbi
    Signed-off-by: Sekhar Nori

    Sekhar Nori
     

14 Aug, 2014

3 commits


04 Jul, 2014

7 commits

  • [ Upstream commit cc071acaa2cf7b7b8c716ad48f3ba93a2e064687 ]

    The driver sends 3 bytes instead of 2 when accessing a register on the M09
    firmware, so writing to gain seems to overflow into the offset register.

    Signed-off-by: Robert Woerle
    Acked-By: Simon Budig
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Felipe Balbi

    Robert Woerle
     
  • [ Upstream commit e2c3ecf0ea8e87c5209371af7da107ebc47a5639 ]

    The if condition was accidentally deleted here so we return every time
    instead of returning on error.

    Fixes: fd335ab04b3f ('Input: edt-ft5x06 - add support for M09 firmware version')
    Signed-off-by: Dan Carpenter
    Reviewed-by: Jingoo Han
    Acked-By: Lothar Waßmann
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Felipe Balbi

    Dan Carpenter
     
  • [ Upstream commit fd335ab04b3f1b3309dfbfea71a1a79a7bacc4ad ]

    There is a new firmware version for the EDT-FT5x06 chip.
    Add support for detecting the firmware version and handle the
    differences appropriately.

    Signed-off-by: Lothar Waßmann
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Felipe Balbi

    Lothar Waßmann
     
  • [ Upstream commit ee3e946e31e6df0f9845f9b3d527252003603530 ]

    The chip may report invalid coordinates on touchdown events, so don't
    report the initial touchdown event.

    Signed-off-by: Lothar Waßmann
    Acked-by: Fugang Duan
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Felipe Balbi

    Lothar Waßmann
     
  • [ Upstream commit c0808467494318029f71185b42b61f1ae153afdc ]

    The FT5x06 datasheet specifies a minimum reset width of 5ms and a
    delay between deassertion of reset and start of reporting of 300ms.
    Adjust the delays to conform to the datasheet.

    With the original delays I sometimes experienced communication
    timeouts when initializing the controller.

    Signed-off-by: Lothar Waßmann
    Acked-by: Fugang Duan
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Felipe Balbi

    Lothar Waßmann
     
  • [ Upstream commit dac90dc23211996286c3b934057d0df77cfef0b4 ]

    Signed-off-by: Lothar Waßmann
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Felipe Balbi

    Lothar Waßmann
     
  • [ Upstream commit 1730d81460b929b1f217cb7d9cb193a7b0e58dd9 ]

    - remove redundant parens
    - remove redundant type casts
    - fix mixed tab/space indentation

    Signed-off-by: Lothar Waßmann
    Acked-by: Fugang Duan
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Felipe Balbi

    Lothar Waßmann
     

24 Jun, 2014

3 commits


18 Jun, 2014

4 commits


25 Jan, 2014

1 commit

  • Pull input subsystem updates from Dmitry Torokhov:
    "Just a swath of driver fixes and cleanups, no new drivers this time
    (although ALPS now supports one of the newer protocols, more to come)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
    Input: wacom - add support for DTU-1031
    Input: wacom - fix wacom->shared guards for dual input devices
    Input: edt_ft5x06 - use devm_* functions where appropriate
    Input: hyperv-keyboard - pass through 0xE1 prefix
    Input: logips2pp - fix spelling s/reciver/receiver/
    Input: delete non-required instances of include
    Input: twl4030-keypad - convert to using managed resources
    Input: twl6040-vibra - remove unneeded check for CONFIG_OF
    Input: twl4030-keypad - add device tree support
    Input: twl6040-vibra - add missing of_node_put
    Input: twl4030-vibra - add missing of_node_put
    Input: i8042 - cleanup SERIO_I8042 dependencies
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on x86
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on unicore32
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on sparc
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO for SH_CAYMAN
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on powerpc
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on mips
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on IA64
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on ARM/Footbridge
    ...

    Linus Torvalds
     

24 Jan, 2014

1 commit


21 Jan, 2014

3 commits


07 Jan, 2014

2 commits

  • The purpose of reg_se_cache has been defeated. It should avoid the
    read-back of the register to avoid the latency and the fact that the
    bits are reset to 0 after the individual conversation took place.

    The reason why this is required like this to work, is that read-back of
    the register removes the bits of the ADC so they do not start another
    conversation after the register is re-written from the TSC side for the
    update.
    To avoid the not required read-back I introduce a "set once" variant which
    does not update the cache mask. After the conversation completes, the
    bit is removed from the SE register anyway and we don't plan a new
    conversation "any time soon". The current set function is renamed to
    set_cache to distinguish the two operations.
    This is a small preparation for a larger sync-rework.

    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Dmitry Torokhov
    Acked-by: Jonathan Cameron
    Signed-off-by: Lee Jones

    Sebastian Andrzej Siewior
     
  • None of these files are actually using any __init type directives
    and hence don't need to include . Most are just a
    left over from __devinit and __cpuinit removal, or simply due to
    code getting copied from one driver to the next.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: Dmitry Torokhov

    Paul Gortmaker
     

19 Dec, 2013

1 commit


16 Dec, 2013

2 commits