USB_DRIVER_SET_CONFI(9) USB Core APIs USB_DRIVER_SET_CONFI(9)NAMEusb_driver_set_configuration - Provide a way for drivers to change
device configurations
SYNOPSIS
int usb_driver_set_configuration(struct usb_device * udev, int config);
ARGUMENTS
udev
the device whose configuration is being updated
config
the configuration being chosen.
CONTEXT
In process context, must be able to sleep
DESCRIPTION
Device interface drivers are not allowed to change device
configurations. This is because changing configurations will destroy
the interface the driver is bound to and create new ones; it would be
like a floppy-disk driver telling the computer to replace the
floppy-disk drive with a tape drive!
Still, in certain specialized circumstances the need may arise. This
routine gets around the normal restrictions by using a work thread to
submit the change-config request.
Returns 0 if the request was succesfully queued, error code otherwise.
The caller has no way to know whether the queued request will
eventually succeed.
COPYRIGHTKernel Hackers Manual 2.6. November 2013 USB_DRIVER_SET_CONFI(9)