From: Peter Osterlund <petero2@telia.com>
To: Dmitry Torokhov <dtor_core@ameritech.net>
Cc: Linus Torvalds <torvalds@osdl.org>,
Vojtech Pavlik <vojtech@suse.cz>,
LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@osdl.org>
Subject: Re: [PATCH] ALPS: fix enabling hardware tapping
Date: 03 Jul 2005 13:49:13 +0200 [thread overview]
Message-ID: <m3slyw6reu.fsf@telia.com> (raw)
In-Reply-To: <200506150138.49880.dtor_core@ameritech.net>
Dmitry Torokhov <dtor_core@ameritech.net> writes:
> It looks like logic for enabling hardware tapping in ALPS driver was
> inverted and we enable it only if it was already enabled by BIOS or
> firmware.
It looks like alps_init() has the same bug. This patch fixes that
function too by moving the check if the tapping mode needs to change
into the alps_tap_mode() function, so that the test doesn't have to be
duplicated.
Signed-off-by: Peter Osterlund <petero2@telia.com>
---
linux-petero/drivers/input/mouse/alps.c | 29 +++++++++++------------------
1 files changed, 11 insertions(+), 18 deletions(-)
diff -puN drivers/input/mouse/alps.c~alps-hwtaps-fix drivers/input/mouse/alps.c
--- linux/drivers/input/mouse/alps.c~alps-hwtaps-fix 2005-07-03 13:42:47.000000000 +0200
+++ linux-petero/drivers/input/mouse/alps.c 2005-07-03 13:42:47.000000000 +0200
@@ -2,7 +2,7 @@
* ALPS touchpad PS/2 mouse driver
*
* Copyright (c) 2003 Neil Brown <neilb@cse.unsw.edu.au>
- * Copyright (c) 2003 Peter Osterlund <petero2@telia.com>
+ * Copyright (c) 2003-2005 Peter Osterlund <petero2@telia.com>
* Copyright (c) 2004 Dmitry Torokhov <dtor@mail.ru>
* Copyright (c) 2005 Vojtech Pavlik <vojtech@suse.cz>
*
@@ -334,6 +334,13 @@ static int alps_tap_mode(struct psmouse
int cmd = enable ? PSMOUSE_CMD_SETRATE : PSMOUSE_CMD_SETRES;
unsigned char tap_arg = enable ? 0x0A : 0x00;
unsigned char param[4];
+ int enabled;
+
+ if (alps_get_status(psmouse, param))
+ return -1;
+ enabled = (param[0] & 0x04) != 0;
+ if (enabled == enable)
+ return 0;
if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO) ||
ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE) ||
@@ -350,7 +357,6 @@ static int alps_tap_mode(struct psmouse
static int alps_reconnect(struct psmouse *psmouse)
{
struct alps_data *priv = psmouse->private;
- unsigned char param[4];
int version;
psmouse_reset(psmouse);
@@ -361,11 +367,7 @@ static int alps_reconnect(struct psmouse
if (priv->i->flags & ALPS_PASS && alps_passthrough_mode(psmouse, 1))
return -1;
- if (alps_get_status(psmouse, param))
- return -1;
-
- if (!(param[0] & 0x04))
- alps_tap_mode(psmouse, 1);
+ alps_tap_mode(psmouse, 1);
if (alps_absolute_mode(psmouse)) {
printk(KERN_ERR "alps.c: Failed to enable absolute mode\n");
@@ -389,7 +391,6 @@ static void alps_disconnect(struct psmou
int alps_init(struct psmouse *psmouse)
{
struct alps_data *priv;
- unsigned char param[4];
int version;
psmouse->private = priv = kmalloc(sizeof(struct alps_data), GFP_KERNEL);
@@ -403,16 +404,8 @@ int alps_init(struct psmouse *psmouse)
if ((priv->i->flags & ALPS_PASS) && alps_passthrough_mode(psmouse, 1))
goto init_fail;
- if (alps_get_status(psmouse, param)) {
- printk(KERN_ERR "alps.c: touchpad status report request failed\n");
- goto init_fail;
- }
-
- if (param[0] & 0x04) {
- printk(KERN_INFO "alps.c: Enabling hardware tapping\n");
- if (alps_tap_mode(psmouse, 1))
- printk(KERN_WARNING "alps.c: Failed to enable hardware tapping\n");
- }
+ if (alps_tap_mode(psmouse, 1))
+ printk(KERN_WARNING "alps.c: Failed to enable hardware tapping\n");
if (alps_absolute_mode(psmouse)) {
printk(KERN_ERR "alps.c: Failed to enable absolute mode\n");
_
--
Peter Osterlund - petero2@telia.com
http://web.telia.com/~u89404340
next prev parent reply other threads:[~2005-07-03 11:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-15 6:38 [PATCH] ALPS: fix enabling hardware tapping Dmitry Torokhov
2005-06-15 11:15 ` Vojtech Pavlik
2005-07-03 11:49 ` Peter Osterlund [this message]
2005-07-03 20:34 ` Vojtech Pavlik
2005-07-03 23:28 ` Peter Osterlund
2005-07-04 6:25 ` Dmitry Torokhov
2005-07-04 10:58 ` Vojtech Pavlik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3slyw6reu.fsf@telia.com \
--to=petero2@telia.com \
--cc=akpm@osdl.org \
--cc=dtor_core@ameritech.net \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.