Thread (18 messages) 18 messages, 2 authors, 2013-02-14
STALE4974d

[PATCH V2 00/14] Input: ALPS - Clean up and rework driver to support newer touchpads

From: Kevin Cernekee <cernekee@gmail.com>
Date: 2013-02-03 23:57:12

Several modern ALPS devices require slight variations on existing driver
functions.  This patchset provides a way to "mix and match" various
components, to avoid excessive code duplication and clutter:

 - Separating the report format decoding from processing, so that
   Pinnacle AGx, Rushmore, and Dolphin touchpads can use a common
   processing function.

 - Allowing devices with different register layouts to use the same
   processing functions but disparate init functions.

 - Providing a way to discover touchpads like Pinnacle AGx and Rushmore,
   which are identified by a range of EC report values rather than an
   exact match to a specific E7 report sequence.

 - Storing the bitmap and pixel constants in the alps_data struct, so
   they can be updated if the device uses different values (ala Dolphin).


V1->V2 changes with respect to Rushmore support:

 - Fix MT and trackstick report decoding (credit to Emmanual Thome)


Baseline:

git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next

git pull from:

https://github.com/cernekee/linux alps-v2


Tested on:

Dell E6410 (Pinnacle AGx) - E7/EC: 73 02 64 / 88 07 9d
Dell E6230 (Rushmore without trackstick) - E7/EC: 73 03 0a / 88 08 1d
Dell E6430 (Rushmore with trackstick) - E7/EC: 73 03 0a / 88 08 1d

Dolphin support is new and completely untested; if nobody reports success
we should drop that patch.  Also, there are at least two known Dolphin
versions, which use different init sequences (at least in the Windows
driver).


Commits:

Kevin Cernekee (14):
      Input: ALPS - Document the alps.h data structures
      Input: ALPS - Copy "model" info into alps_data struct
      Input: ALPS - Move alps_get_model() down below hw_init code
      Input: ALPS - Introduce helper function for repeated commands
      Input: ALPS - Rework detection sequence
      Input: ALPS - Use function pointers for different protocol handlers
      Input: ALPS - Move {addr,nibble}_command settings into alps_set_defaults()
      Input: ALPS - Rework detection of Pinnacle AGx touchpads
      Input: ALPS - Fix command mode check
      Input: ALPS - Move pixel and bitmap info into alps_data struct
      Input: ALPS - Make the V3 packet field decoder "pluggable"
      Input: ALPS - Add support for "Rushmore" touchpads
      Input: ALPS - Enable trackstick on Rushmore touchpads
      Input: ALPS - First attempt at "Dolphin" touchpad support
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help