usb_driver_set_configuration (9) - Linux Man Pages
usb_driver_set_configuration: Provide a way for drivers to change device configurations
usb_driver_set_configuration - Provide a way for drivers to change device configurations
int usb_driver_set_configuration(struct usb_device
*udev, int config);
- the device whose configuration is being updated
- the configuration being chosen.
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!