23 Feb, 2010

1 commit


22 Feb, 2010

1 commit


20 Feb, 2010

1 commit

  • When polled input device is opened and closed and there are no other
    users of polled device, the workqueue is created and destroyed in
    every open / close operation. It is probable that at some point
    dynamic allocation of internal parts of the workqueue cause changes to the
    workqueue.

    When a work is queued to the workqueue the work struct contains pointers
    to the workqueue data. If the workqueue has been changed and the work
    has never been queued to the new workqueue, work-struct contains pointers
    to the non-existing workqueue. This will cause crash at the work
    cancellation during device close since cancellation of a work assumes
    that the workqueue exists.

    To prevent that, work struct is cleaned up at device close. This keeps
    work struct clean for the next use.

    Signed-off-by: Samu Onkalo
    Signed-off-by: Dmitry Torokhov

    Samu Onkalo
     

19 Feb, 2010

1 commit


18 Feb, 2010

1 commit

  • 633aae2 "Input: i8042 - switch to using dev_pm_ops" removed handling
    for PMSG_THAW, since we do not need to do anything during freeze and
    thus it was thougt that thaw is not needed as well. However, there is
    a period when interrupts are kept off, and if key happens to be pressed
    during that time KBC becomes jammed. To avoid the jam we simply need
    to poll KBC once during thaw.

    Signed-off-by: Alan Jenkins
    Signed-off-by: Dmitry Torokhov

    Alan Jenkins
     

12 Feb, 2010

1 commit


08 Feb, 2010

1 commit


30 Jan, 2010

1 commit


29 Jan, 2010

2 commits

  • For pressure-based multi-touch devices, a direct way to send sensor
    intensity data per finger is needed. This patch adds the ABS_MT_PRESSURE
    event to the MT protocol.

    Requested-by: Yoonyoung Shim
    Requested-by: Mika Kuoppala
    Requested-by: Peter Hutterer
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     
  • I missed converting one dev_info call to deb_dbg before submitting the driver.
    Without this change, a message will be printed to dmesg for each button press
    if a RC6 remote is used.

    Signed-off-by: David Härdeman
    Cc: stable
    Signed-off-by: Dmitry Torokhov

    David Härdeman
     

28 Jan, 2010

1 commit


19 Jan, 2010

1 commit


16 Jan, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: sentelic - fix left/right horizontal scroll mapping
    Input: pmouse - move Sentelic probe down the list
    Input: add compat support for sysfs and /proc capabilities output
    Input: i8042 - add Dritek quirk for Acer Aspire 5610.
    Input: xbox - do not use GFP_KERNEL under spinlock
    Input: psmouse - fix Synaptics detection when protocol is disabled
    Input: bcm5974 - report ABS_MT events
    Input: davinci_keyscan - add device_enable method to platform data
    Input: evdev - be less aggressive about sending SIGIO notifies
    Input: atkbd - fix canceling event_work in disconnect
    Input: serio - fix potential deadlock when unbinding drivers
    Input: gf2k - fix &&/|| confusion in gf2k_connect()

    Linus Torvalds
     

13 Jan, 2010

3 commits


11 Jan, 2010

1 commit


10 Jan, 2010

1 commit


07 Jan, 2010

1 commit

  • For configurations where Synaptics hardware is present but the Synaptics
    extensions support is not compiled in, the mouse is reprobed and a new
    device is allocated on every suspend/resume.

    During probe, psmouse_switch_protocol() calls psmouse_extensions() with
    set_properties=1. This calls the dummy synaptics_init() which returns an
    error code, instructing us not to use the synaptics extensions.

    During resume, psmouse_reconnect() calls psmouse_extensions() with
    set_properties=0, in which case call to synaptics_init() is bypassed and
    PSMOUSE_SYNAPTICS is returned. Since the result is different from previous
    attempt psmouse_reconnect() fails and full re-probe happens.

    Fix this by tweaking the set_properties=0 codepath in psmouse_extensions()
    to be more careful about offering PSMOUSE_SYNAPTICS extensions.

    Signed-off-by: Daniel Drake
    Signed-off-by: Dmitry Torokhov

    Daniel Drake
     

06 Jan, 2010

5 commits

  • Make bcm5974 report raw multi-touch (MT) data in the form of ABS_MT events.

    [dtor@mail.ru: get rid of module option, always report all events]
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     
  • Add a function pointer in the platform data of the DaVinci Keyscan driver
    called device_enable, in order to perform board specific actions when
    the device is initialized, like setup the PINMUX configuration.

    Signed-off-by: Miguel Aguilar
    Signed-off-by: Kevin Hilman
    Signed-off-by: Dmitry Torokhov

    Miguel Aguilar
     
  • When using realtime signals, we'll enqueue one signal for every event.
    This is unfortunate, because (for example) keyboard presses are three
    events: key, msc scancode, and syn. They'll be enqueued fast enough in
    kernel space that all three events will be ready to read by the time
    userspace runs, so the first invocation of the signal handler will read
    all three events, but then the second two invocations still have to run
    to do no work.

    Instead, only send the SIGIO notification on syn events. This is a
    slight abuse of SIGIO semantics, in principle it ought to fire as soon
    as any events are readable. But it matches evdev semantics, which is
    more important since SIGIO is rather vaguely defined to begin with.

    Signed-off-by: Adam Jackson
    Signed-off-by: Dmitry Torokhov

    Adam Jackson
     
  • We need to first unregister input device and only then cancel event work
    since events can arrive (and cause event work to get scheduled again)
    until input_unregister_device() returns.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • sysfs_remove_group() waits for sysfs attributes to be removed, therefore
    we do not need to worry about driver-specific attributes being accessed
    after driver has been detached from the device. In fact, attempts to take
    serio->drv_mutex in attribute methods may lead to the following deadlock:

    sysfs_read_file()
    fill_read_buffer()
    sysfs_get_active_two()
    psmouse_attr_show_helper()
    serio_pin_driver()
    serio_disconnect_driver()
    mutex_lock(&serio->drv_mutex);
    mutex_lock(&serio_drv_mutex);
    psmouse_disconnect()
    sysfs_remove_group(... psmouse_attr_group);
    ....
    sysfs_deactivate();
    wait_for_completion();

    Fix this by removing calls to serio_[un]pin_driver() and functions themselves
    and using driver-private mutexes to serialize access to attribute's set()
    methods that may change device state.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Dmitry Torokhov

    Eric W. Biederman
     

02 Jan, 2010

1 commit


01 Jan, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: iforce - wait for command completion when closing the device
    Input: twl4030-pwrbutton - switch to using threaded IRQ
    Input: twl4030_keypad - switch to using threaded IRQ
    Input: lifebook - add CONFIG_DMI dependency
    Input: wistron - fix test for CONFIG_PM
    Input: psmouse - fix compile warning in hgpk module
    Input: matrix-keypad - handle cases when GPIOs can't be wakeup sources
    Input: iforce - fix oops on device disconnect
    Input: ff-memless - add notion of direction to for rumble effects
    Input: ff-memless - another fix for signed to unsigned overflow
    Input: ff-memless - start playing FF effects immediately
    Input: serio - do not mark kseriod freezable anymore
    Input: speed up suspend/shutdown for PS/2 mice and keyboards

    Linus Torvalds
     

31 Dec, 2009

1 commit


30 Dec, 2009

5 commits


25 Dec, 2009

7 commits


17 Dec, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (22 commits)
    Input: ALPS - add interleaved protocol support (Dell E6x00 series)
    Input: keyboard - don't override beep with a bell
    Input: altera_ps2 - fix test of unsigned in altera_ps2_probe()
    Input: add mc13783 touchscreen driver
    Input: ep93xx_keypad - update driver to new core support
    Input: wacom - separate pen from express keys on Graphire
    Input: wacom - add defines for data packet report IDs
    Input: wacom - add support for new LCD tablets
    Input: wacom - add defines for packet lengths of various devices
    Input: wacom - ensure the device is initialized properly upon resume
    Input: at32psif - do not sleep in atomic context
    Input: i8042 - add Gigabyte M1022M to the noloop list
    Input: i8042 - allow installing platform filters for incoming data
    Input: i8042 - fix locking in interrupt routine
    Input: ALPS - do not set REL_X/REL_Y capabilities on the touchpad
    Input: document use of input_event() function
    Input: sa1111ps2 - annotate probe() and remove() methods
    Input: ambakmi - annotate probe() and remove() methods
    Input: gscps2 - fix probe() and remove() annotations
    Input: altera_ps2 - add annotations to probe and remove methods
    ...

    Linus Torvalds