Thus, to end this long e-mail, I was wondering if there is another solution to reading the whole code, something like a description of the API that the kernel requires by every HCD or anything else that you think that reading it is going to help me.
New HCDs should all be using the "hcd" framework code, even on 2.4 kernels (where it's less mature than 2.6, but still usable). Have a look at this 2.4 "ohci-hcd" (*). I think you'll find it much simpler than "usb-ohci":
http://usb-gadget.bkbits.net:8080/gadget-2.4/src/drivers/usb/host
Basically, HCDs provide provide a "struct hc_driver" from "drivers/usb/hcd.h" (callbacks, their purposes should be clear especially in conjunction with their ohci-hcd implementations) and they maintain the shared parts of a "struct usb_hcd".
Then "hcd" glue in usbcore handles the "struct usb_operations" and various other old APIs you should avoid; they all combine to implement the usb host. The support for non-PCI hosts is still messier than it should be; use ohci-sa1111.c as a start.
- Dave
(*) Tested back on 2.4.21 but not re-tested since then.
The main difference compared to the 2.6 driver should
just be the lack of endpoint_disable() handshaking,
and faked-out automagic for interrupt urbs.------------------------------------------------------- This SF.net email is sponsored by OSDN's Audience Survey. Help shape OSDN's sites and tell us what you think. Take this five minute survey and you could win a $250 Gift Certificate. http://www.wrgsurveys.com/2003/osdntech03.php?site=8 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
