Well, there's an "upper layer" (usb/core/hcd.c in 2.5)
that's not specific to EHCI ... there's kerneldoc for that.
You may want to start from there.

"usb-ohci" has been converted to use it (and renamed
as "ohci-hcd").  Think of it making HCDs about a third
smaller than they would be otherwise.  (That's just by
comparing object code sizes for OHCI.)  And likewise
removing places for HC-specific bugs to nest.  That
layer can/should assume more responsibility, too.

I'm not quite clear what you mean by "implementation
dependent parts".  Do you mean HC-specific bits,
where the "Enhanced", "Open", or "Universal" Host
Controller Interfaces (EHCI, OHCI, UHCI) implement USB
requests differently?  Or vendor-specific bits, where
one chip vendor implements things differently?  (I'd tend
to call such code workarounds for chip bugs/quirks, and
there aren't really any in the EHCI code today.)

As a rule, I don't think you'll find documentation other
than the source code for such driver internals.  Read
them in conjunction with the HCI and USB specs, and
be glad the ehci-hcd comments are accurate!

- Dave


----- Original Message ----- 
From: "Peter Weatherall" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, May 01, 2002 8:35 AM
Subject: [linux-usb-devel] ehci driver implementation


> Is there any documentation on how the Linuix EHCI implementation works,
> apart from the comments embedded in the
> source ? I have the EHCI spec., but I'm interested in how all the
> implementation dependent parts operate together.
> Thanks
> Peter
> 


Reply via email to