On Sat, Dec 11, 2010 at 08:56:05AM +0000, Alex Hudson wrote: > Hi Dmitry, > > Thanks for responding, much appreciated ;) > > On Fri, 2010-12-10 at 23:15 -0800, Dmitry Torokhov wrote: > > > I'm having some trouble with the serio support for a touchit213 device, > > > and I'm hoping by describing what's going on someone can offer some > > > clues. > > > > I guess I'd start by making sure that you are indeed dealing with > > touchit123 and not some other device. > > Indeed, I'm pretty sure this is the right device. The xf86 driver I > mentioned comes as a source module, and accesses the device via > serio_raw. I've compared the code and the protocol is identical: and > indeed, the xf86 module makes clear some things the serio driver implies > (e.g., the xf86 driver treats the data definitively as 11-bit). Any chance you could post a link to the sources? > > The problem with the xf86 driver is many-fold; it was written pre-Xorg > and it's taken me a fair bit of hacking just to even get it to work on > Fedora 14 without segfaulting. It's also a lot more complex than the > serio equivalent. Right, it is most likely does hardware probing and initialization whereas touchkit213 expects input_attach to do this for it. > > > > Now, there is a serio driver for the touchit213 series, but the obvious: > > > > > > echo -n "touchit213" > /sys/bus/serio/devices/serio4/drvctl > > > > > > .. doesn't work. I don't see anything in the logs; whereas if I use > > > inputattach to connect the driver to ttyS0 (which doesn't have the > > > device, obviously) I can see that the driver is enabled > > > in /var/log/messages and a touch /dev/input/event device is created. > > > > Right, the current touchit123 driver only binds to serio that has > > appropriate type. Basically this means that the driver only works with > > serial ports (ttySx) and not PS/2 ports. > > I think you've nailed the problem, then - is this to do with the > structure in touchit213_serio_ids[]? I had only really been looking at > the connect() function. > > Is it possible it's as simple as adding another stanza accepting > SERIO_8042 or is there a more fundamental reason why ttySx is only > allowed? You can't simply allowing binding to SERIO_8042 as it will cause touchkit213 to fight with the standard psmouse driver. What needs to be done is to write a sub-driver (or protocol driver) for psmouse module which would probe the devices and automatically select proper protocol. Please take a look at drivers/input/mouse/psmouse-base.c and friends there. Also, please use 'reply-all' on kernel lists - this way you have much better chance to receive prompt replies ;) -- 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