On Monday 29 December 2008 22:03:35 Alexander E. Patrakov wrote: > Arjan Opmeer wrote: > > On Sat, Dec 27, 2008 at 02:06:29PM +0500, Alexander E. Patrakov wrote: > >> elantech.c: Elantech version query result 0x00, 0x01, 0x64. > >> elantech.c: assuming hardware version 1, firmware version 0.100 > >> elantech.c: Synaptics capabilities query result 0x00, 0x02, 0x64. > > > > However, all version query results I have seen from Elantech touchpads > > have a non-zero first byte and a zero second byte. So we could test for > > that to prevent this mouse from being detected as a touchpad. > > > > Dmitry, do you think something like this is sufficient? > > > > --- elantech.c.ORIG 2008-12-29 19:35:01.000000000 +0100 > > +++ elantech.c.NEW 2008-12-29 19:38:59.000000000 +0100 > > @@ -618,6 +618,10 @@ int elantech_init(struct psmouse *psmous > > } > > pr_info("elantech.c: Elantech version query result 0x%02x, 0x%02x, > > 0x%02x.\n", param[0], param[1], param[2]); > > + if (param[0] == 0 || param[1] != 0) { > > + pr_info("elantech.c: Probably not a real Elantech touchpad. > > Aborting.\n"); + goto init_fail; > > + } > > etd->fw_version_maj = param[0]; > > etd->fw_version_min = param[2]; > > This is still slightly wrong. The mouse does work, but is misnamed in > the dmesg output and in /proc/bus/input/devices: > > psmouse serio1: ID: 10 00 64<6>elantech.c: Elantech version query result > 0x00, 0x01, 0x64. > elantech.c: Probably not a real Elantech touchpad. Aborting. > input: ImExPS/2 Elantech Touchpad as /class/input/input8 > Yeah, elantech_init() is too late, we need to do something in elantech_detect()... What did /proc/bus/input/devices show before 2.6.28? Logitech, right? Maybe we need to pull part of Logitech check (number of buttons for example) from logips2pp.c. We'd need to test with real elantech touchpads too though. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html