On Wed, 18 Jul 2007, Oliver Neukum wrote:

> Am Mittwoch 18 Juli 2007 schrieb Alan Stern:
> > On Wed, 18 Jul 2007, Oliver Neukum wrote:
> > 
> > > > Am Mittwoch 18 Juli 2007 schrieb Alan Stern:
> > > >  int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
> > > >  {
> > > > -       int                     pipe, temp, max;
> > > > -       struct usb_device       *dev;
> > > > -       int                     is_out;
> > > > +       int                             xfertype, max;
> > > > +       struct usb_device               *dev;
> > > > +       struct usb_host_endpoint        *ep;
> > > > +       int                             is_out;
> > > 
> > > This is a bit odd. Using a pointer the direction info should be included.
> > 
> > I don't understand.  Included where?
> 
> struct usb_host_endpoint

The direction information is part of the endpoint descriptor stored in 
the usb_host_endpoint.  But control endpoints don't have direction bits 
in their descriptors, since they are bidirectional.

> > > Or you could use endpoint numbers, which would remove some issues
> > > with enummeration.
> > 
> > That's essentially the same as using a pipe, since some of the bits in 
> > a pipe _are_ the endpoint number.
> 
> Only some, but yes, it is much closer. Still if you give ep, dev and is_out
> should be implicit.

We currently don't have any way to go from the endpoint structure to 
the usb_device structure, so dev is not implicit.  And while is_out is 
implicit for non-control endpoints, what's wrong with storing it in a 
local variable for convenience?  You may note that I didn't add the 
is_out variable; it has been there for a long time.

>  And how do you submit the first URBs? Are you going
> to fake a struct usb_host_endpoint for endpoint 0 ?

That's exactly what we do right now.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to