Message ID | 1351678279-32615-1-git-send-email-cywang@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Dmitry and other maintainers, Not sure if you have any comment on the patch? As this patch tries to help some platforms (especially for lenovo's machines) to rescan the touchpad device after resuming from suspend if the first probe fails. Thanks, Chung-yih On Mon, Feb 18, 2013 at 4:17 PM, Chung-Yih Wang (???) <cywang@chromium.org> wrote: > Hi Dmitry and other maintainers, > > Not sure if you have any comment on the patch? As this patch tries to help > some platforms (especially for lenovo's machines) to rescan the touchpad > device after resuming from suspend if the first probe fails. > > Thanks, > Chung-yih > > > On Wed, Oct 31, 2012 at 6:11 PM, Chung-yih Wang <cywang@chromium.org> wrote: >> >> As the synaptics device may not respond to the first command in >> psmouse_probe >> when a machine is booting up, the patch gives a second probe if the first >> one fails. >> >> Signed-off-by: Chung-yih Wang <cywang@chromium.org> >> --- >> drivers/input/mouse/psmouse-base.c | 13 +++++++++++-- >> 1 files changed, 11 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/input/mouse/psmouse-base.c >> b/drivers/input/mouse/psmouse-base.c >> index 22fe254..c4fc5ad 100644 >> --- a/drivers/input/mouse/psmouse-base.c >> +++ b/drivers/input/mouse/psmouse-base.c >> @@ -1053,8 +1053,17 @@ static int psmouse_probe(struct psmouse *psmouse) >> */ >> >> param[0] = 0xa5; >> - if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) >> - return -1; >> + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) { >> + /* >> + * Reprobe the device if it did not respond to the GETID >> + * command. Before retry, additional dummy command is sent >> + * to clear the 'RESEND' response if exists. >> + */ >> + psmouse_warn(psmouse, "GETID probe failed, >> retrying...\n"); >> + ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11); >> + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) >> + return -1; >> + } >> >> if (param[0] != 0x00 && param[0] != 0x03 && >> param[0] != 0x04 && param[0] != 0xff) >> -- >> 1.7.7.3 >> > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
seems a special change for a special device so, you may need to place this change with corresponding CONFIG_xxx_xxx. generally, if command F2 failed, we will assume there's no ps2 device, it's normal, or do you have some materials(SPEC) to specify the change you have made? ? 2012-10-31?? 18:11 +0800?Chung-yih Wang??? > As the synaptics device may not respond to the first command in psmouse_probe > when a machine is booting up, the patch gives a second probe if the first > one fails. > > Signed-off-by: Chung-yih Wang <cywang@chromium.org> > --- > drivers/input/mouse/psmouse-base.c | 13 +++++++++++-- > 1 files changed, 11 insertions(+), 2 deletions(-) > > diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c > index 22fe254..c4fc5ad 100644 > --- a/drivers/input/mouse/psmouse-base.c > +++ b/drivers/input/mouse/psmouse-base.c > @@ -1053,8 +1053,17 @@ static int psmouse_probe(struct psmouse *psmouse) > */ > > param[0] = 0xa5; > - if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) > - return -1; > + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) { > + /* > + * Reprobe the device if it did not respond to the GETID > + * command. Before retry, additional dummy command is sent > + * to clear the 'RESEND' response if exists. > + */ > + psmouse_warn(psmouse, "GETID probe failed, retrying...\n"); > + ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11); > + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) > + return -1; > + } > > if (param[0] != 0x00 && param[0] != 0x03 && > param[0] != 0x04 && param[0] != 0xff) -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Yes, I could add CONFIG_MOUSE_PS2_SYNAPTICS for the change as we only need it for synaptics touchpad/touchpoint on lenovo's machines. On Mon, Feb 18, 2013 at 5:26 PM, li guang <lig.fnst@cn.fujitsu.com> wrote: > seems a special change for a special device > so, you may need to place this change with > corresponding CONFIG_xxx_xxx. > generally, if command F2 failed, we will assume > there's no ps2 device, it's normal, > or do you have some materials(SPEC) to specify > the change you have made? > > > > ? 2012-10-31?? 18:11 +0800?Chung-yih Wang??? >> As the synaptics device may not respond to the first command in psmouse_probe >> when a machine is booting up, the patch gives a second probe if the first >> one fails. >> >> Signed-off-by: Chung-yih Wang <cywang@chromium.org> >> --- >> drivers/input/mouse/psmouse-base.c | 13 +++++++++++-- >> 1 files changed, 11 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c >> index 22fe254..c4fc5ad 100644 >> --- a/drivers/input/mouse/psmouse-base.c >> +++ b/drivers/input/mouse/psmouse-base.c >> @@ -1053,8 +1053,17 @@ static int psmouse_probe(struct psmouse *psmouse) >> */ >> >> param[0] = 0xa5; >> - if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) >> - return -1; >> + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) { >> + /* >> + * Reprobe the device if it did not respond to the GETID >> + * command. Before retry, additional dummy command is sent >> + * to clear the 'RESEND' response if exists. >> + */ >> + psmouse_warn(psmouse, "GETID probe failed, retrying...\n"); >> + ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11); >> + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) >> + return -1; >> + } >> >> if (param[0] != 0x00 && param[0] != 0x03 && >> param[0] != 0x04 && param[0] != 0xff) > > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Chung-yih, On Mon, Feb 18, 2013 at 05:45:07PM +0800, Chung-Yih Wang (???) wrote: > Yes, I could add CONFIG_MOUSE_PS2_SYNAPTICS for the change as we only > need it for synaptics touchpad/touchpoint on lenovo's machines. > I do not think it will solve anything as all distributions have CONFIG_MOUSE_PS2_SYNAPTICS enabled. Could you tell me what the response is to the initial GETID command that you see on these laptops? Thanks.
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 22fe254..c4fc5ad 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -1053,8 +1053,17 @@ static int psmouse_probe(struct psmouse *psmouse) */ param[0] = 0xa5; - if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) - return -1; + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) { + /* + * Reprobe the device if it did not respond to the GETID + * command. Before retry, additional dummy command is sent + * to clear the 'RESEND' response if exists. + */ + psmouse_warn(psmouse, "GETID probe failed, retrying...\n"); + ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11); + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID)) + return -1; + } if (param[0] != 0x00 && param[0] != 0x03 && param[0] != 0x04 && param[0] != 0xff)
As the synaptics device may not respond to the first command in psmouse_probe when a machine is booting up, the patch gives a second probe if the first one fails. Signed-off-by: Chung-yih Wang <cywang@chromium.org> --- drivers/input/mouse/psmouse-base.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-)