psmouse: fix ExPS/2 probing
PATCH 1/1 psmouse: fix ExPS/2 probing
Split off from an earlier (big and confusing) patch.
Some mice (Logitech trackballs at least) support ExPS/2 but don't support ImPS/2. The current probing order forces all such devices to use regular three-button PS/2. This patch fixes it by taking the ExPS/2 probing out of the ImPS/2 if-then block.
Applies to 2.6.5, 2.6.6-rc2. Won't apply to rc2-mm1 nor on top of Dmitry's patches.
The third part of the earlier patch fixed protocol probing, but I'll wait 2.6.6 comes out until I redo it.
Kim
drivers/input/mouse/psmouse-base.c +9 -9
@@ -414,19 +414,19 @@if (psmouse_max_proto >=PSMOUSE_IMPS &&intellimouse_detect (psmouse)) {set_bit (REL_WHEEL , psmouse->dev.relbit); -if (psmouse_max_proto >=PSMOUSE_IMEX && -im_explorer_detect (psmouse)) { -set_bit (BTN_SIDE , psmouse->dev.keybit); -set_bit (BTN_EXTRA , psmouse->dev.keybit); - - psmouse->name ="Explorer Mouse" ; -return PSMOUSE_IMEX ; - } - psmouse->name ="Wheel Mouse" ;return PSMOUSE_IMPS ; } +if (psmouse_max_proto >=PSMOUSE_IMEX &&im_explorer_detect (psmouse)) { +set_bit (REL_WHEEL , psmouse->dev.relbit); +set_bit (BTN_SIDE , psmouse->dev.keybit); +set_bit (BTN_EXTRA , psmouse->dev.keybit); + + psmouse->name ="Explorer Mouse" ; +return PSMOUSE_IMEX ; + } +/* * Okay, all failed, we have a standard mouse here. The number of the buttons * is still a question, though. We assume 3.