18 May, 2011

5 commits

  • These new platform-specific values can be used to set the fuzz parameter
    passed to the input_set_abs_params() function for the ABS_X, ABS_Y and
    ABS_PRESSURE axes.

    Signed-off-by: Thierry Reding
    Signed-off-by: Dmitry Torokhov

    Thierry Reding
     
  • This new parameter allows the polling frequency to be configured while
    keeping the default of once every millisecond.

    Signed-off-by: Thierry Reding
    Signed-off-by: Dmitry Torokhov

    Thierry Reding
     
  • Depending on the quality of the touch panel, the time for the X-, X+, Y-
    and Y+ inputs to settle may vary. The poll_delay parameter can be used
    to override the default of 1 millisecond.

    Cc: Dmitry Torokhov
    Cc: Kwangwoo Lee
    Signed-off-by: Thierry Reding
    Signed-off-by: Dmitry Torokhov

    Thierry Reding
     
  • Finger touch events or very quick stylus events on low-quality panels
    can cause the tsc2007 to read bogus values. Looking at oscilloscope
    snapshots, this seems to be caused by the touch event disappearing
    during the measurements. These bogus values result in misclicks, where
    the X and Y values deviate from the real position.

    Most of these misclicks can be filtered out by setting a low enough
    threshold for the maximum resistance (which is loosely the inverse of
    the pressure) allowed to consider a set of values valid. Since this
    behaviour is largely dependent on the type and quality of the panel,
    this commit introduces the max_rt parameter. The default value is kept
    at MAX_12BIT.

    Signed-off-by: Thierry Reding
    Signed-off-by: Dmitry Torokhov

    Thierry Reding
     
  • When the controller signals a pen-down event via the platform-specific
    GPIO, while the sample values indicate an invalid measurement, the
    measurement needs to be repeated.

    Signed-off-by: Thierry Reding
    Signed-off-by: Dmitry Torokhov

    Thierry Reding
     

17 May, 2011

8 commits

  • As reported by Jean-Francois Dagenais, the wheel algorithm caused a
    divide by zero exception due to missing variable pre-initialization.
    In fact it turned out that the whole algorithm had several problems.
    It is therefore replaced with something that is known working.

    Signed-off-by: Michael Hennerich
    Tested-by: Jean-Francois Dagenais
    Signed-off-by: Dmitry Torokhov

    Michael Hennerich
     
  • Add option to specify irqflags in platfrom data.
    Also update copyright notice.

    Signed-off-by: Michael Hennerich
    Tested-by: Jean-Francois Dagenais
    Signed-off-by: Dmitry Torokhov

    Michael Hennerich
     
  • Fix two issues in the threshold and completion interrupt mask and unmask
    functions. According to the AD714x datasheets the highest stage completion
    interrupt should be enabled. Fix mask computation.

    Signed-off-by: Michael Hennerich
    Tested-by: Jean-Francois Dagenais
    Signed-off-by: Dmitry Torokhov

    Michael Hennerich
     
  • Add missing input name and set up parent devices so input devices will
    show in proper places in sysfs tree.

    Signed-off-by: Michael Hennerich
    Tested-by: Jean-Francois Dagenais
    Signed-off-by: Dmitry Torokhov

    Michael Hennerich
     
  • Apparently somewhere someone had a proprietary X driver. To get the
    multitouch info, it uses some hack on the normal API instead of using
    the multitouch protocol. Now that the multitouch info is transmitted
    correctly it makes not much sense to keep it. Especially because it's
    impossible to find this proprietary X driver anywhere, so the number of
    users must be very low.

    Signed-off-by: Éric Piel
    Reviewed-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Éric Piel
     
  • Multitouch info was reported only via a old protocol used by the
    proprietary X driver from elantech. Let's report the multitouch info
    also following the official MT protocol. It's semi-mt because the device
    only reports the lowest/highest coordinates.

    This was done following the multi-touch-protocol.txt documentation, and
    inspired by the bcm5974 and elantech implementations. Testing was light
    as there is not many applications using this protocol yet, but the X
    synaptics driver didn't complain and the X multitouch driver behaved
    correctly.

    Signed-off-by: Éric Piel
    Reviewed-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Éric Piel
     
  • Using the info of the Dell/Ubuntu driver, described in the protocol
    document, report both width and pressure when pressing 1 and 3
    fingers, for the versions of the touchpad which support it.

    Signed-off-by: Éric Piel
    Reviewed-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Éric Piel
     
  • For some Dell laptops, Ubuntu had a special version of the elantech
    driver with more knowledge on the devices. It can be found there:
    http://zinc.ubuntu.com/git?p=mid-team/hardy-netbook.git;a=blob;f=drivers/input/mouse/elantech.c;h=d0e2cafed162428f72e3654f4dda85e08ea486b3;hb=refs/heads/abi-22

    By inspecting the source code, and doing some test on a real hardware, I
    have completed the protocol specification (especially for the 6 bytes
    protocol). It also adds information about the mapping between the
    version reported by the device and the protocol to use.

    Signed-off-by: Éric Piel
    Reviewed-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Éric Piel
     

15 May, 2011

1 commit


12 May, 2011

7 commits


05 May, 2011

2 commits


04 May, 2011

2 commits


29 Apr, 2011

2 commits

  • Update the KEYSC driver to make use of threaded IRQs with IRQF_ONESHOT
    to improve interrupt latency. The driver is using udelay() in the ISR
    to make sure the hardware has stabilized. Without using interrupt threads
    this delay may affect the latency of the rest of the system.

    Also pass dev_name() as string for /proc/interrupts.

    Signed-off-by: Magnus Damm
    Signed-off-by: Dmitry Torokhov

    Magnus Damm
     
  • Convert the KEYSC driver from MSTP bit control through a magic clock
    string to making use of Runtime PM.

    Also, update the system suspend/resume callbacks to drop the Runtime
    PM reference in the case of wakeup disabled.

    Signed-off-by: Magnus Damm
    Signed-off-by: Dmitry Torokhov

    Magnus Damm
     

28 Apr, 2011

5 commits


27 Apr, 2011

1 commit

  • This patch modifies evdev so that it only becomes readable when
    the buffer contains an EV_SYN/SYN_REPORT event.

    On SMP systems, it is possible for an evdev client blocked on poll()
    to wake up and read events from the evdev ring buffer at the same
    rate as they are enqueued. This can result in high CPU usage,
    particularly for MT devices, because the client ends up reading
    events one at a time instead of reading complete packets.

    We eliminate this problem by making the device readable only when
    the buffer contains at least one complete packet. This causes
    clients to block until the entire packet is available.

    Signed-off-by: Jeff Brown
    Signed-off-by: Dmitry Torokhov

    Jeff Brown
     

23 Apr, 2011

1 commit


19 Apr, 2011

6 commits

  • Linus Torvalds
     
  • * 'for-39-rc4' of git://codeaurora.org/quic/kernel/davidb/linux-msm:
    msm: timer: fix missing return value
    msm: Remove extraneous ffa device check

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: xen-kbdfront - fix mouse getting stuck after save/restore
    Input: estimate number of events per packet
    Input: evdev - indicate buffer overrun with SYN_DROPPED
    Input: document event types and codes and their intended use
    Input: add KEY_IMAGES specifically for AL Image Browser
    Input: twl4030_keypad - fix potential NULL dereference in twl4030_kp_probe()
    Input: h3600_ts - fix error handling at connect
    Input: twl4030_keypad - avoid potential NULL-pointer dereference

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: add blk_run_queue_async
    block: blk_delay_queue() should use kblockd workqueue
    md: fix up raid1/raid10 unplugging.
    md: incorporate new plugging into raid5.
    md: provide generic support for handling unplug callbacks.
    md - remove old plugging code.
    md/dm - remove remains of plug_fn callback.
    md: use new plugging interface for RAID IO.
    block: drop queue lock before calling __blk_run_queue() for kblockd punt
    Revert "block: add callback function for unplug notification"
    block: Enhance new plugging support to support general callbacks

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/powermac: Build fix with SMP and CPU hotplug
    powerpc/perf_event: Skip updating kernel counters if register value shrinks
    powerpc: Don't write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled
    powerpc: Fix oops if scan_dispatch_log is called too early
    powerpc/pseries: Use a kmem cache for DTL buffers
    powerpc/kexec: Fix regression causing compile failure on UP
    powerpc/85xx: disable Suspend support if SMP enabled
    powerpc/e500mc: Remove CPU_FTR_MAYBE_CAN_NAP/CPU_FTR_MAYBE_CAN_DOZE
    powerpc/book3e: Fix CPU feature handling on 64-bit e5500
    powerpc: Check device status before adding serial device
    powerpc/85xx: Don't add disabled PCIe devices

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (24 commits)
    Btrfs: fix free space cache leak
    Btrfs: avoid taking the chunk_mutex in do_chunk_alloc
    Btrfs end_bio_extent_readpage should look for locked bits
    Btrfs: don't force chunk allocation in find_free_extent
    Btrfs: Check validity before setting an acl
    Btrfs: Fix incorrect inode nlink in btrfs_link()
    Btrfs: Check if btrfs_next_leaf() returns error in btrfs_real_readdir()
    Btrfs: Check if btrfs_next_leaf() returns error in btrfs_listxattr()
    Btrfs: make uncache_state unconditional
    btrfs: using cached extent_state in set/unlock combinations
    Btrfs: avoid taking the trans_mutex in btrfs_end_transaction
    Btrfs: fix subvolume mount by name problem when default mount subvolume is set
    fix user annotation in ioctl.c
    Btrfs: check for duplicate iov_base's when doing dio reads
    btrfs: properly handle overlapping areas in memmove_extent_buffer
    Btrfs: fix memory leaks in btrfs_new_inode()
    Btrfs: check for duplicate iov_base's when doing dio reads
    Btrfs: reuse the extent_map we found when calling btrfs_get_extent
    Btrfs: do not use async submit for small DIO io's
    Btrfs: don't split dio bios if we don't have to
    ...

    Linus Torvalds