On Mon, Jul 21, 2003 at 10:27:30PM +0200, Oliver Neukum wrote:
> Am Montag, 21. Juli 2003 20:02 schrieb Alan Stern:
> > David:
> > 
> > My last patch for usbcore concerns usb_device_remove() in usb.c.  The most
> > annoying things about it is its name.  The routine doesn't remove USB
> > devices; it disconnects drivers from interfaces.  So I renamed it
> > usb_remove_driver(). Luckily it's not used in many places.
> 
> Quite misleading as well :-)
> It doesn't remove a driver, as the driver stays loaded.
> I suggest calling it usb_unlink_interface_driver()

Since 'unlink' has special meaning w.r.t URBs, how about
usb_unassociate_interface_driver() ?

> > Disabling and enabling interfaces would be a lot easier and more reliable
> > if struct urb contained a usb_interface field instead of (or in addition
> > to) its usb_device field.  But that would be an immense change, something 
> > for 2.7.
> 
> URBs are addressed at device/endpoint pairs. Interfaces don't exist at
> that level, so I don't think that they should be dragged into it.
> But I might be wrong.

I've mention Alan's idea before, and gotten the same response.  While
'interfaces' don't exist at that level, 'interfaces' are the basic unit
that drivers deal in.

Since a driver needs to go from device -> interface -> endpoint to submit an
URB, it does seem to make real sense to let the drivers track interfaces
instead of devices, and force them to convert interface -> endpoint.

Matt

-- 
Matthew Dharm                              Home: [EMAIL PROTECTED] 
Maintainer, Linux USB Mass Storage Driver

Now payink attention, please.  This is mouse.  Click-click. Easy to 
use, da? Now you try...
                                        -- Pitr to Miranda
User Friendly, 10/11/1998

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to