|
@@ -690,19 +690,6 @@ static int psmouse_extensions(struct psmouse *psmouse,
|
|
max_proto = PSMOUSE_IMEX;
|
|
max_proto = PSMOUSE_IMEX;
|
|
}
|
|
}
|
|
|
|
|
|
-/*
|
|
|
|
- * Try Finger Sensing Pad
|
|
|
|
- */
|
|
|
|
- if (max_proto > PSMOUSE_IMEX) {
|
|
|
|
- if (fsp_detect(psmouse, set_properties) == 0) {
|
|
|
|
- if (!set_properties || fsp_init(psmouse) == 0)
|
|
|
|
- return PSMOUSE_FSP;
|
|
|
|
-/*
|
|
|
|
- * Init failed, try basic relative protocols
|
|
|
|
- */
|
|
|
|
- max_proto = PSMOUSE_IMEX;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (max_proto > PSMOUSE_IMEX) {
|
|
if (max_proto > PSMOUSE_IMEX) {
|
|
if (genius_detect(psmouse, set_properties) == 0)
|
|
if (genius_detect(psmouse, set_properties) == 0)
|
|
@@ -718,6 +705,21 @@ static int psmouse_extensions(struct psmouse *psmouse,
|
|
return PSMOUSE_TOUCHKIT_PS2;
|
|
return PSMOUSE_TOUCHKIT_PS2;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * Try Finger Sensing Pad. We do it here because its probe upsets
|
|
|
|
+ * Trackpoint devices (causing TP_READ_ID command to time out).
|
|
|
|
+ */
|
|
|
|
+ if (max_proto > PSMOUSE_IMEX) {
|
|
|
|
+ if (fsp_detect(psmouse, set_properties) == 0) {
|
|
|
|
+ if (!set_properties || fsp_init(psmouse) == 0)
|
|
|
|
+ return PSMOUSE_FSP;
|
|
|
|
+/*
|
|
|
|
+ * Init failed, try basic relative protocols
|
|
|
|
+ */
|
|
|
|
+ max_proto = PSMOUSE_IMEX;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Reset to defaults in case the device got confused by extended
|
|
* Reset to defaults in case the device got confused by extended
|
|
* protocol probes. Note that we follow up with full reset because
|
|
* protocol probes. Note that we follow up with full reset because
|