diff options
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/mouse/alps.c | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index 33e7198cb05c..0d68e5e0182a 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * ALPS touchpad PS/2 mouse driver | 2 | * ALPS touchpad PS/2 mouse driver |
3 | * | 3 | * |
4 | * Copyright (c) 2003 Neil Brown <neilb@cse.unsw.edu.au> | 4 | * Copyright (c) 2003 Neil Brown <neilb@cse.unsw.edu.au> |
5 | * Copyright (c) 2003 Peter Osterlund <petero2@telia.com> | 5 | * Copyright (c) 2003-2005 Peter Osterlund <petero2@telia.com> |
6 | * Copyright (c) 2004 Dmitry Torokhov <dtor@mail.ru> | 6 | * Copyright (c) 2004 Dmitry Torokhov <dtor@mail.ru> |
7 | * Copyright (c) 2005 Vojtech Pavlik <vojtech@suse.cz> | 7 | * Copyright (c) 2005 Vojtech Pavlik <vojtech@suse.cz> |
8 | * | 8 | * |
@@ -350,7 +350,6 @@ static int alps_tap_mode(struct psmouse *psmouse, int enable) | |||
350 | static int alps_reconnect(struct psmouse *psmouse) | 350 | static int alps_reconnect(struct psmouse *psmouse) |
351 | { | 351 | { |
352 | struct alps_data *priv = psmouse->private; | 352 | struct alps_data *priv = psmouse->private; |
353 | unsigned char param[4]; | ||
354 | int version; | 353 | int version; |
355 | 354 | ||
356 | psmouse_reset(psmouse); | 355 | psmouse_reset(psmouse); |
@@ -361,14 +360,13 @@ static int alps_reconnect(struct psmouse *psmouse) | |||
361 | if ((priv->i->flags & ALPS_PASS) && alps_passthrough_mode(psmouse, 1)) | 360 | if ((priv->i->flags & ALPS_PASS) && alps_passthrough_mode(psmouse, 1)) |
362 | return -1; | 361 | return -1; |
363 | 362 | ||
364 | if (alps_get_status(psmouse, param)) | 363 | if (alps_tap_mode(psmouse, 1)) { |
364 | printk(KERN_WARNING "alps.c: Failed to reenable hardware tapping\n"); | ||
365 | return -1; | 365 | return -1; |
366 | 366 | } | |
367 | if (!(param[0] & 0x04)) | ||
368 | alps_tap_mode(psmouse, 1); | ||
369 | 367 | ||
370 | if (alps_absolute_mode(psmouse)) { | 368 | if (alps_absolute_mode(psmouse)) { |
371 | printk(KERN_ERR "alps.c: Failed to enable absolute mode\n"); | 369 | printk(KERN_ERR "alps.c: Failed to reenable absolute mode\n"); |
372 | return -1; | 370 | return -1; |
373 | } | 371 | } |
374 | 372 | ||
@@ -389,7 +387,6 @@ static void alps_disconnect(struct psmouse *psmouse) | |||
389 | int alps_init(struct psmouse *psmouse) | 387 | int alps_init(struct psmouse *psmouse) |
390 | { | 388 | { |
391 | struct alps_data *priv; | 389 | struct alps_data *priv; |
392 | unsigned char param[4]; | ||
393 | int version; | 390 | int version; |
394 | 391 | ||
395 | psmouse->private = priv = kmalloc(sizeof(struct alps_data), GFP_KERNEL); | 392 | psmouse->private = priv = kmalloc(sizeof(struct alps_data), GFP_KERNEL); |
@@ -403,16 +400,8 @@ int alps_init(struct psmouse *psmouse) | |||
403 | if ((priv->i->flags & ALPS_PASS) && alps_passthrough_mode(psmouse, 1)) | 400 | if ((priv->i->flags & ALPS_PASS) && alps_passthrough_mode(psmouse, 1)) |
404 | goto init_fail; | 401 | goto init_fail; |
405 | 402 | ||
406 | if (alps_get_status(psmouse, param)) { | 403 | if (alps_tap_mode(psmouse, 1)) |
407 | printk(KERN_ERR "alps.c: touchpad status report request failed\n"); | 404 | printk(KERN_WARNING "alps.c: Failed to enable hardware tapping\n"); |
408 | goto init_fail; | ||
409 | } | ||
410 | |||
411 | if (param[0] & 0x04) { | ||
412 | printk(KERN_INFO "alps.c: Enabling hardware tapping\n"); | ||
413 | if (alps_tap_mode(psmouse, 1)) | ||
414 | printk(KERN_WARNING "alps.c: Failed to enable hardware tapping\n"); | ||
415 | } | ||
416 | 405 | ||
417 | if (alps_absolute_mode(psmouse)) { | 406 | if (alps_absolute_mode(psmouse)) { |
418 | printk(KERN_ERR "alps.c: Failed to enable absolute mode\n"); | 407 | printk(KERN_ERR "alps.c: Failed to enable absolute mode\n"); |