linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] Input: ALPS - Fix ALPS touchpad detection
@ 2012-02-16 13:11 Akio Idehara
  2012-02-16 14:32 ` Seth Forshee
  0 siblings, 1 reply; 5+ messages in thread
From: Akio Idehara @ 2012-02-16 13:11 UTC (permalink / raw)
  To: dmitry.torokhov; +Cc: rubini, seth.forshee, linux-input, inux-kernel

ALPS touchpad detection fails if some buttons of ALPS are pressed.
The reason is that the "E6" query response byte is different from
what is expected.
This was tested on a Toshiba Portege R500.

Cc: stable <stable@vger.kernel.org>
Signed-off-by: Akio Idehara <zbe64533@gmail.com>
---
  Documentation/input/alps.txt |    3 ++-
  drivers/input/mouse/alps.c   |    7 +++++--
  2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Documentation/input/alps.txt b/Documentation/input/alps.txt
index f274c28..2f95308 100644
--- a/Documentation/input/alps.txt
+++ b/Documentation/input/alps.txt
@@ -13,7 +13,8 @@ Detection

  All ALPS touchpads should respond to the "E6 report" command sequence:
  E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or
-00-00-64.
+00-00-64 if no buttons are pressed. The bits 0-2 of the first byte will be 1s
+if some buttons are pressed.

  If the E6 report is successful, the touchpad model is identified using the "E7
  report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index bd87380..4c6a72d 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -952,7 +952,9 @@ static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int

  	/*
  	 * First try "E6 report".
-	 * ALPS should return 0,0,10 or 0,0,100
+	 * ALPS should return 0,0,10 or 0,0,100 if no buttons are pressed.
+	 * The bits 0-2 of the first byte will be 1s if some buttons are
+	 * pressed.
  	 */
  	param[0] = 0;
  	if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES) ||
@@ -968,7 +970,8 @@ static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int
  	psmouse_dbg(psmouse, "E6 report: %2.2x %2.2x %2.2x",
  		    param[0], param[1], param[2]);

-	if (param[0] != 0 || param[1] != 0 || (param[2] != 10 && param[2] != 100))
+	if ((param[0] & 0xf8) != 0 || param[1] != 0 ||
+	    (param[2] != 10 && param[2] != 100))
  		return NULL;

  	/*
-- 
1.7.9

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] Input: ALPS - Fix ALPS touchpad detection
  2012-02-16 13:11 [PATCH v2] Input: ALPS - Fix ALPS touchpad detection Akio Idehara
@ 2012-02-16 14:32 ` Seth Forshee
  2012-02-23 14:41   ` Akio Idehara
  0 siblings, 1 reply; 5+ messages in thread
From: Seth Forshee @ 2012-02-16 14:32 UTC (permalink / raw)
  To: Akio Idehara; +Cc: dmitry.torokhov, rubini, linux-input, inux-kernel

On Thu, Feb 16, 2012 at 10:11:55PM +0900, Akio Idehara wrote:
> ALPS touchpad detection fails if some buttons of ALPS are pressed.
> The reason is that the "E6" query response byte is different from
> what is expected.
> This was tested on a Toshiba Portege R500.
> 
> Cc: stable <stable@vger.kernel.org>
> Signed-off-by: Akio Idehara <zbe64533@gmail.com>

This version is working fine for me. Thanks!

Tested-by: Seth Forshee <seth.forshee@canonical.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] Input: ALPS - Fix ALPS touchpad detection
  2012-02-16 14:32 ` Seth Forshee
@ 2012-02-23 14:41   ` Akio Idehara
  2012-02-24  8:17     ` Dmitry Torokhov
  0 siblings, 1 reply; 5+ messages in thread
From: Akio Idehara @ 2012-02-23 14:41 UTC (permalink / raw)
  To: dmitry.torokhov, dtor
  Cc: seth.forshee, rubini, linux-input, linux-kernel, linux-doc,
	rdunlap, gregkh, torvalds

This is definitely a bug which isn't fixed for nine years.
Why this patch isn't applied to the input sub-system (or mainline)?

Seth Forshee wrote:
> On Thu, Feb 16, 2012 at 10:11:55PM +0900, Akio Idehara wrote:
>> ALPS touchpad detection fails if some buttons of ALPS are pressed.
>> The reason is that the "E6" query response byte is different from
>> what is expected.
>> This was tested on a Toshiba Portege R500.
>>
>> Cc: stable<stable@vger.kernel.org>
>> Signed-off-by: Akio Idehara<zbe64533@gmail.com>
>
> This version is working fine for me. Thanks!
>
> Tested-by: Seth Forshee<seth.forshee@canonical.com>

  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ALPS touchpad detection fails if some buttons of ALPS are pressed.
The reason is that the "E6" query response byte is different from
what is expected.
This was tested on a Toshiba Portege R500.

Cc: stable <stable@vger.kernel.org>
Signed-off-by: Akio Idehara <zbe64533@gmail.com>
Tested-by: Seth Forshee<seth.forshee@canonical.com>
---
     Documentation/input/alps.txt |    3 ++-
     drivers/input/mouse/alps.c   |    7 +++++--
     2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Documentation/input/alps.txt b/Documentation/input/alps.txt
index f274c28..2f95308 100644
--- a/Documentation/input/alps.txt
+++ b/Documentation/input/alps.txt
@@ -13,7 +13,8 @@ Detection

     All ALPS touchpads should respond to the "E6 report" command sequence:
     E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or
-00-00-64.
+00-00-64 if no buttons are pressed. The bits 0-2 of the first byte will be 1s
+if some buttons are pressed.

     If the E6 report is successful, the touchpad model is identified using the "E7
     report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index bd87380..4c6a72d 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -952,7 +952,9 @@ static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int

     	/*
     	 * First try "E6 report".
-	 * ALPS should return 0,0,10 or 0,0,100
+	 * ALPS should return 0,0,10 or 0,0,100 if no buttons are pressed.
+	 * The bits 0-2 of the first byte will be 1s if some buttons are
+	 * pressed.
     	 */
     	param[0] = 0;
     	if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES) ||
@@ -968,7 +970,8 @@ static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int
     	psmouse_dbg(psmouse, "E6 report: %2.2x %2.2x %2.2x",
     		    param[0], param[1], param[2]);

-	if (param[0] != 0 || param[1] != 0 || (param[2] != 10 && param[2] != 100))
+	if ((param[0] & 0xf8) != 0 || param[1] != 0 ||
+	    (param[2] != 10 && param[2] != 100))
     		return NULL;

     	/*
-- 1.7.9

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] Input: ALPS - Fix ALPS touchpad detection
  2012-02-23 14:41   ` Akio Idehara
@ 2012-02-24  8:17     ` Dmitry Torokhov
  2012-02-24 10:19       ` Akio Idehara
  0 siblings, 1 reply; 5+ messages in thread
From: Dmitry Torokhov @ 2012-02-24  8:17 UTC (permalink / raw)
  To: Akio Idehara
  Cc: seth.forshee, rubini, linux-input, linux-kernel, linux-doc,
	rdunlap, gregkh, torvalds

Hi Akio,

On Thu, Feb 23, 2012 at 11:41:11PM +0900, Akio Idehara wrote:
> This is definitely a bug which isn't fixed for nine years.
> Why this patch isn't applied to the input sub-system (or mainline)?
> 

Well, if we waited for 9 years, we could wait for couple more days...

Also, please make sure you do not send patches as:

	Content-Type: text/plain; charset=ISO-8859-1; format=flowed 

as this requires fixing up the patch manually before it can be applied.

Anyway, applied, thank you.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] Input: ALPS - Fix ALPS touchpad detection
  2012-02-24  8:17     ` Dmitry Torokhov
@ 2012-02-24 10:19       ` Akio Idehara
  0 siblings, 0 replies; 5+ messages in thread
From: Akio Idehara @ 2012-02-24 10:19 UTC (permalink / raw)
  To: dmitry.torokhov
  Cc: seth.forshee, rubini, linux-input, linux-kernel, linux-doc,
	rdunlap, gregkh, torvalds

Hi Dmitry,

I'm sorry that I hurry you and make you trouble with email setting.


Regards, Akio.

Dmitry Torokhov wrote:

> Hi Akio,
>
> On Thu, Feb 23, 2012 at 11:41:11PM +0900, Akio Idehara wrote:
>> This is definitely a bug which isn't fixed for nine years.
>> Why this patch isn't applied to the input sub-system (or mainline)?
>>
>
> Well, if we waited for 9 years, we could wait for couple more days...
>
> Also, please make sure you do not send patches as:
>
> 	Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> as this requires fixing up the patch manually before it can be applied.
>
> Anyway, applied, thank you.
>




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-02-24 10:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-16 13:11 [PATCH v2] Input: ALPS - Fix ALPS touchpad detection Akio Idehara
2012-02-16 14:32 ` Seth Forshee
2012-02-23 14:41   ` Akio Idehara
2012-02-24  8:17     ` Dmitry Torokhov
2012-02-24 10:19       ` Akio Idehara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).