TrackIR driver v0.7 for Linux kernel 2.4.3

Here's a driver I've been writing in my spare time for the TrackIR device for Linux. Right now it is a very usable character device. There are some things that still need to be done, however:

Any help with the first two items would be appreciated as there aren't any USB drivers that I can find that support non-blocking reads and I'm clueless as to how to support multiple devices in one driver without the use of lots of minor numbers. The second two items should be done in a couple of days.

These patches are against the 2.4.3 kernel, you have to provide the trackir_firmware.h file yourself, because I haven't gotten permission from Eye Control Technologies to include it with the patch. Just download the firmware here. Then use the ezusb_convert.pl script in the drivers/usb/serial directory of the kernel source to turn it into the header file. Example command usage:

gerudo:serial$ ./ezusb_convert.pl trackir_firmware < TrackIR_revC_noswitch.hex > trackir_firmware.h

TrackIR driver v0.7 Download

If you have any comments or suggestions, please email me.