This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
[Bug 1001024] STM32 USB driver and proposed USB API change
- From: bugzilla-daemon at bugs dot ecos dot sourceware dot org
- To: ecos-patches at ecos dot sourceware dot org
- Date: Thu, 21 Oct 2010 19:32:19 +0100
- Subject: [Bug 1001024] STM32 USB driver and proposed USB API change
- Auto-submitted: auto-generated
- References: <bug-1001024-104@http.bugs.ecos.sourceware.org/>
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001024
--- Comment #32 from Chris Holgate <chris@zynaptic.com> 2010-10-21 19:32:15 BST ---
(In reply to comment #31)
> While I haven't looked through the spec for a while, I believe that you _can_
> have multiple class drivers on a single device without using a virtual hub. I
> think it's called a composite device. The descriptor arrangement is a bit more
> complicated, but it's still possible.
Your recollection of the spec is obviously better than mine. As you say,
composite devices are supported and I should probably have used the Google
before posting misleading rubbish! However, a single device can still only
have one control endpoint and one root descriptor, which means the scenario
John mentioned of multiple class drivers calling usbs_start with different (or
even the same) control endpoint data structures should never happen.
I think that supporting composite drivers is really an issue for a notional USB
class driver framework. As far as the existing low level USB slave drivers are
concerned, a USB device is just a bundle of endpoints and a bunch of arbitrary
descriptors. IMHO that is exactly the right level of abstraction - and any
additional support for composite drivers should be added as an extra layer of
abstraction between the low level USB slave driver and the class function
drivers.
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.