summaryrefslogtreecommitdiff
path: root/drivers/input/mouse/psmouse-base.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor_core@ameritech.net>2005-05-29 02:30:32 -0500
committerDmitry Torokhov <dtor_core@ameritech.net>2005-05-29 02:30:32 -0500
commita15d60f867408a4d8ce46359d9eb677818349e5b (patch)
tree7aff91d8e018253327a893732c5f5ee87b55d095 /drivers/input/mouse/psmouse-base.c
parent14e94143964d5af6d0a2ae8401cd9e9e091967b9 (diff)
Input: lifebook - adjust initialization routines to be in line with
the rest of protocols in preparation to dynamic protocol switching. 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.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 4be21847c67d..0ecf1297b6a8 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -424,8 +424,18 @@ static int psmouse_extensions(struct psmouse *psmouse,
{
int synaptics_hardware = 0;
- if (lifebook_detect(psmouse, max_proto, set_properties) == 0)
- return PSMOUSE_LIFEBOOK;
+/*
+ * We always check for lifebook because it does not disturb mouse
+ * (it only checks DMI information).
+ */
+ if (lifebook_detect(psmouse, set_properties) == 0 ||
+ max_proto == PSMOUSE_LIFEBOOK) {
+
+ if (max_proto > PSMOUSE_IMEX) {
+ if (!set_properties || lifebook_init(psmouse) == 0)
+ return PSMOUSE_LIFEBOOK;
+ }
+ }
/*
* Try Kensington ThinkingMouse (we try first, because synaptics probe