aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/mouse/psmouse-base.c
diff options
context:
space:
mode:
authorStephen Evanchik <evanchsa@gmail.com>2005-08-08 02:26:18 -0400
committerDmitry Torokhov <dtor_core@ameritech.net>2005-08-08 02:26:18 -0400
commit541e316aed6f7d6efeb427a88645c2a8f61418d6 (patch)
tree2283bae66058470f24f47240e342a032d939ff89 /drivers/input/mouse/psmouse-base.c
parent6fc32179de9e14c542e0b1760e412bc670611c53 (diff)
Input: psmouse - add support for IBM TrackPoint devices.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/mouse/psmouse-base.c')
-rw-r--r--drivers/input/mouse/psmouse-base.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 2bb2fe78bdca..b3508276785f 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -25,6 +25,7 @@
25#include "logips2pp.h" 25#include "logips2pp.h"
26#include "alps.h" 26#include "alps.h"
27#include "lifebook.h" 27#include "lifebook.h"
28#include "trackpoint.h"
28 29
29#define DRIVER_DESC "PS/2 mouse driver" 30#define DRIVER_DESC "PS/2 mouse driver"
30 31
@@ -520,6 +521,12 @@ static int psmouse_extensions(struct psmouse *psmouse,
520 return PSMOUSE_IMPS; 521 return PSMOUSE_IMPS;
521 522
522/* 523/*
524 * Try to initialize the IBM TrackPoint
525 */
526 if (max_proto > PSMOUSE_IMEX && trackpoint_detect(psmouse, set_properties) == 0)
527 return PSMOUSE_TRACKPOINT;
528
529/*
523 * Okay, all failed, we have a standard mouse here. The number of the buttons 530 * Okay, all failed, we have a standard mouse here. The number of the buttons
524 * is still a question, though. We assume 3. 531 * is still a question, though. We assume 3.
525 */ 532 */
@@ -600,6 +607,12 @@ static struct psmouse_protocol psmouse_protocols[] = {
600 .init = lifebook_init, 607 .init = lifebook_init,
601 }, 608 },
602 { 609 {
610 .type = PSMOUSE_TRACKPOINT,
611 .name = "TPPS/2",
612 .alias = "trackpoint",
613 .detect = trackpoint_detect,
614 },
615 {
603 .type = PSMOUSE_AUTO, 616 .type = PSMOUSE_AUTO,
604 .name = "auto", 617 .name = "auto",
605 .alias = "any", 618 .alias = "any",
@@ -1234,7 +1247,7 @@ static int psmouse_set_maxproto(const char *val, struct kernel_param *kp)
1234 1247
1235 *((unsigned int *)kp->arg) = proto->type; 1248 *((unsigned int *)kp->arg) = proto->type;
1236 1249
1237 return 0; \ 1250 return 0;
1238} 1251}
1239 1252
1240static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp) 1253static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp)