Skip to contentSkip to conversation

Input: Add Alps touchpad 73 03 0a support

PATCH Superseded Pavel Bludov 2 participants 3 messages Oct 3, 2012 – Oct 6, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Input: Add Alps touchpad 73 03 0a support

Hi Dmitry,
the patch is trivial:

E7 report is 73 03 0a
command mode response is 88 08 1c
absolute mode controlled by register c2c4

drivers/input/mouse/alps.c +0 -0
index cf5af1f..1b640f2 100644
@@ -112,6 +112,7 @@ static const struct alps_model_info alps_model_data[] = {
        { { 0x73, 0x02, 0x64 }, 0x9b, ALPS_PROTO_V3, 0x8f, 0x8f, 

ALPS_DUALPOINT },

        { { 0x73, 0x02, 0x64 }, 0x9d, ALPS_PROTO_V3, 0x8f, 0x8f, 
ALPS_DUALPOINT },
        { { 0x73, 0x02, 0x64 }, 0x8a, ALPS_PROTO_V4, 0x8f, 0x8f, 0 },

+ { { 0x73, 0x03, 0x0a }, 0x1c, ALPS_PROTO_V3, 0x8f, 0x8f, 0 },
};

/*
@@ -983,7 +984,7 @@ static int alps_enter_command_mode(struct psmouse *psmouse,

                return -1;
        }

- if (param[0] != 0x88 && param[1] != 0x07) {
+ if (param[0] != 0x88 && param[1] != 0x07 && param[1] != 0x08) {
psmouse_dbg(psmouse,
"unknown response while entering command
mode: %2.2x %2.2x %2.2x\n",

                            param[0], param[1], param[2]);

@@ -1302,6 +1303,12 @@ static int alps_hw_init_v3(struct psmouse *psmouse)
if (alps_enter_command_mode(psmouse, NULL))
goto error;

+ reg_val = alps_command_mode_read_reg(psmouse, 0xc2c8);
+ if (reg_val == 0) {
+ if (alps_command_mode_write_reg(psmouse, 0xc2c4, 0x02))
+ goto error;
+ }
+

        /* Check for trackstick */
        reg_val = alps_command_mode_read_reg(psmouse, 0x0008);
        if (reg_val == -1)
maintainer
#1 lore raw

Hi Pavel,

Quoted 6 lines · Pavel Bludov

Hi Dmitry,
the patch is trivial:

E7 report is 73 03 0a
command mode response is 88 08 1c
absolute mode controlled by register c2c4

It looks like you mailer mangled the patch by line-wrapping it, and I would also need your "Signed-off-by: ..." to be able to apply the patch.

Thanks!

Quoted 41 lines
drivers/input/mouse/alps.c +1 -0
index cf5af1f..1b640f2 100644
@@ -112,6 +112,7 @@ static const struct alps_model_info
 alps_model_data[] = {
        { { 0x73, 0x02, 0x64 }, 0x9b, ALPS_PROTO_V3, 0x8f, 0x8f,
 ALPS_DUALPOINT },
        { { 0x73, 0x02, 0x64 }, 0x9d, ALPS_PROTO_V3, 0x8f, 0x8f,
 ALPS_DUALPOINT },
        { { 0x73, 0x02, 0x64 }, 0x8a, ALPS_PROTO_V4, 0x8f, 0x8f, 0 },
+       { { 0x73, 0x03, 0x0a }, 0x1c, ALPS_PROTO_V3, 0x8f, 0x8f, 0 },

};

/*

drivers/input/mouse/alps.c +1 -1
@@ -983,7 +984,7 @@ static int alps_enter_command_mode(struct
 psmouse *psmouse,
                return -1;
        }
 
-       if (param[0] != 0x88 && param[1] != 0x07) {
+       if (param[0] != 0x88 && param[1] != 0x07 && param[1] != 0x08) {
                psmouse_dbg(psmouse,
                            "unknown response while entering command

mode: %2.2x %2.2x %2.2x\n",

                            param[0], param[1], param[2]);
drivers/input/mouse/alps.c +6 -0
@@ -1302,6 +1303,12 @@ static int alps_hw_init_v3(struct psmouse *psmouse)
        if (alps_enter_command_mode(psmouse, NULL))
                goto error;
 
+       reg_val = alps_command_mode_read_reg(psmouse, 0xc2c8);
+       if (reg_val == 0) {
+               if (alps_command_mode_write_reg(psmouse, 0xc2c4, 0x02))
+                       goto error;
+       }
+
        /* Check for trackstick */
        reg_val = alps_command_mode_read_reg(psmouse, 0x0008);
        if (reg_val == -1)
Signature · 1 line
Dmitry
#2 lore raw

PATCH v2 1/1 Input: Add Alps touchpad 73 03 0a support

Quoted 2 lines · Dmitry Torokhov

It looks like you mailer mangled the patch by line-wrapping it, and I would also need your "Signed-off-by: ..." to be able to apply the patch.

Thank you for your patience, Dmitry!

I have throughly read
http://www.kernel.org/doc/Documentation/SubmittingPatches
http://kb.mozillazine.org/Plain_text_e-mail_%28Thunderbird%29
and there is a new version:

Support for alps touchpad found in Intel Latexo notebook. E7 report is 73 03 0a
command mode response is 88 08 1c
absolute mode controlled by register c2c4

Tested on Intel Latexo with 3.6 kernel.

drivers/input/mouse/alps.c +8 -1
index cf5af1f..1b640f2 100644
@@ -112,6 +112,7 @@ static const struct alps_model_info alps_model_data[] = {
        { { 0x73, 0x02, 0x64 }, 0x9b, ALPS_PROTO_V3, 0x8f, 0x8f, ALPS_DUALPOINT },
        { { 0x73, 0x02, 0x64 }, 0x9d, ALPS_PROTO_V3, 0x8f, 0x8f, ALPS_DUALPOINT },
        { { 0x73, 0x02, 0x64 }, 0x8a, ALPS_PROTO_V4, 0x8f, 0x8f, 0 },
+       { { 0x73, 0x03, 0x0a }, 0x1c, ALPS_PROTO_V3, 0x8f, 0x8f, 0 },
 };
 
 /*
@@ -983,7 +984,7 @@ static int alps_enter_command_mode(struct psmouse *psmouse,
                return -1;
        }
 
-       if (param[0] != 0x88 && param[1] != 0x07) {
+       if (param[0] != 0x88 && param[1] != 0x07 && param[1] != 0x08) {
                psmouse_dbg(psmouse,
                            "unknown response while entering command mode: %2.2x %2.2x %2.2x\n",
                            param[0], param[1], param[2]);
@@ -1302,6 +1303,12 @@ static int alps_hw_init_v3(struct psmouse *psmouse)
        if (alps_enter_command_mode(psmouse, NULL))
                goto error;
 
+       reg_val = alps_command_mode_read_reg(psmouse, 0xc2c8);
+       if (reg_val == 0) {
+               if (alps_command_mode_write_reg(psmouse, 0xc2c4, 0x02))
+                       goto error;
+       }
+
        /* Check for trackstick */
        reg_val = alps_command_mode_read_reg(psmouse, 0x0008);
        if (reg_val == -1)