Hi Daniel, On Mon, Jan 12, 2009 at 09:07:14AM +0000, Daniel Silverstone wrote: > > > Index: linux.git/drivers/input/touchscreen/usbtouchscreen.c > > > + /* Always service the USB devices irq not just when the input device is > > > + * open. > > > + */ > > > + int irq_always; > > > + > > Why is this needed? > > Some devices (E.g. specifically this one) expect their interrupt > endpoints to always be serviced. In this case, the device has an > on-board watchdog and will reboot (disconnect and reconnecting to the > USB) if it is not serviced in a timely fashion. > So what happens if driver was unloaded or there was no driver loaded at all? Is this device constantly connecting and reconnecting? > > > > + case 0xC0: /* down */ > > > + dev->x = (pkt[1] & 0x7f) | ((pkt[2] & 0x07) << 7); > > > + dev->y = (pkt[3] & 0x7f) | ((pkt[4] & 0x07) << 7); > > > + dev->touch = 1; > > > + dev->press = 1; > > Since the device does not report real pressure readings don't try to > > fake it, reporting touch is enough. > > I believe that this is because some userland libraries, particularly > tslib, require the pressure reading in order to believe the device is > functioning usefully. Specifically, consider plugins/input-raw of > tslib's source package which uses pressure rather than touch. > Yes, I am aware of TSLIB case and I am telling everyone who submits touchscreen drivers that they need to fix it. The policy is that kernel should not generate fake events but present as accurate state of hardware as possible. -- 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