[PATCH v4 0/4] Cypress PS/2 Trackpad driver

From: Kamal Mostafa
Date: Tue Dec 04 2012 - 21:24:00 EST

This driver, submitted on behalf of Cypress Semiconductor Corporation and
additional contributors, provides support for the Cypress PS/2 Trackpad.

This [PATCH v4] version differs from my previous submitted version[2]:

Patch #1 (cmdbuf to 8 bytes) and #3 (link in driver) are unchanged.

Patch #2 (main driver) changes, as recommended by Henrik Rydberg,
Dmitry Torokhov, and Dudley Du:

- call input_mt_report_finger_count() directly; drop INPUT_MT_POINTER.
- #ifdef out all the CYTP_RELATIVE_SUPPORT code.
- convert CYTP_ macros to functions.
- propagate error return codes.
- fixed tp_res_y typo.
- list Dudley Du <dudl@xxxxxxxxxxx> as the primary author of the driver.
- additional misc cleanups.

Patch #4 (selectable simulated multitouch instead of SEMI_MT):

- this is now #ifdef-disabled by default but needed for (older?) userspace
X/Unity-desktop which does not support the input_mt_report_finger_count
events (e.g. BTN_TOOL_TRIPLETAP).

Remaining known problems (assistance or advice appreciated):

- Patch #4 (simulated multitouch) does not work after rmmod/insmod, and
stops working after suspend/resume. Restarting X fixes it in both
cases. SEMI_MT appears to work normally in any case (per input-events).

- cypress_reconnect() doesn't actually work after suspend/resume, but
psmouse re-inits the driver after _reconnect fails. Per Dudley Du,
this routine does work when physically disconnecting the device though
and its harmless regardless, so I am leaving it in pending further

-Kamal Mostafa <kamal@xxxxxxxxxxxxx>

[0] PATCH v1: http://www.spinics.net/lists/linux-input/msg23690.html
[1] PATCH v2: http://www.spinics.net/lists/linux-input/msg23718.html
[2] PATCH v3: http://www.spinics.net/lists/linux-input/msg23943.html

Dudley Du (2):
input: Cypress PS/2 Trackpad psmouse driver
input: Cypress PS/2 Trackpad link into psmouse-base

Kamal Mostafa (2):
input: increase struct ps2dev cmdbuf[] to 8 bytes
input: Cypress PS/2 Trackpad simulated multitouch (disabled)

drivers/input/mouse/Kconfig | 10 +
drivers/input/mouse/Makefile | 1 +
drivers/input/mouse/cypress_ps2.c | 853 ++++++++++++++++++++++++++++++++++++
drivers/input/mouse/cypress_ps2.h | 231 ++++++++++
drivers/input/mouse/psmouse-base.c | 32 ++
drivers/input/mouse/psmouse.h | 1 +
include/linux/libps2.h | 2 +-
7 files changed, 1129 insertions(+), 1 deletion(-)
create mode 100644 drivers/input/mouse/cypress_ps2.c
create mode 100644 drivers/input/mouse/cypress_ps2.h


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