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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux