On Mon, 2012-11-19 at 15:48 -0800, Dmitry Torokhov wrote:
Hi Kamal,
On Mon, Nov 19, 2012 at 03:30:37PM -0800, Kamal Mostafa wrote:
quoted
@@ -321,6 +323,13 @@ static irqreturn_t psmouse_interrupt(struct serio *serio,
if (psmouse->state <= PSMOUSE_RESYNCING)
goto out;
+ /* For Cypress Trackpad to read some special data more than 6 bytes. */
+ if (psmouse->state == PSMOUSE_CMD_CYTP) {
+ psmouse->packet[psmouse->pktcnt++] = data;
+ wake_up(&psmouse->ps2dev.wait);
+ goto out;
+ }
Instead of doing this have you tried extending size of cmdbuf in ps2dev
structure to 8?
Thanks for suggesting this Dmitry. I have now done that (and modified
cypress_ps2.c to set psmouse->state to the common PSMOUSE_CMD_MODE
instead). This makes the psmouse-base linkage entirely clean, I
think...
And it *almost* works! (Multitouch no longer works after suspend now).
Please see the forthcoming [PATCH v2] set, and thanks again for your
help.
-Kamal