Name

usb_driver_claim_interface — bind a driver to an interface

Synopsis

int usb_driver_claim_interface (struct usb_driver *  driver,
 struct usb_interface *  iface,
 void *  priv);

Arguments

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

Description

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.