1USB_DRIVER_SET_CONFI(9) USB Core APIs USB_DRIVER_SET_CONFI(9)
2
3
4
6 usb_driver_set_configuration - Provide a way for drivers to change
7 device configurations
8
10 int usb_driver_set_configuration(struct usb_device * udev, int config);
11
13 udev
14 the device whose configuration is being updated
15
16 config
17 the configuration being chosen.
18
20 In process context, must be able to sleep
21
23 Device interface drivers are not allowed to change device
24 configurations. This is because changing configurations will destroy
25 the interface the driver is bound to and create new ones; it would be
26 like a floppy-disk driver telling the computer to replace the
27 floppy-disk drive with a tape drive!
28
29 Still, in certain specialized circumstances the need may arise. This
30 routine gets around the normal restrictions by using a work thread to
31 submit the change-config request.
32
34 0 if the request was successfully queued, error code otherwise. The
35 caller has no way to know whether the queued request will eventually
36 succeed.
37
39Kernel Hackers Manual 3.10 June 2019 USB_DRIVER_SET_CONFI(9)