usb_driver_claim_interface — bind a driver to an interface
int usb_driver_claim_interface ( | struct usb_driver * | driver, |
struct usb_interface * | iface, | |
void * | priv) ; |
driver
the driver to be bound
iface
the interface to which it will be bound; must be in the usb device's active configuration
priv
driver data associated with that interface
This is used by usb device drivers that need to claim more than one interface on a device when probing (audio and acm are current examples). No device driver should directly modify internal usb_interface or usb_device structure members.
Few drivers should need to use this routine, since the most natural
way to bind to an interface is to return the private data from
the driver's probe
method.
Callers must own the device lock and the driver model's usb_bus_type.subsys
writelock. So driver probe
entries don't need extra locking,
but other call contexts may need to explicitly claim those locks.