.\" This documentation was generated from the book titled "The Linux-USB Host Side API", which is part of the Linux kernel source. .\" .\" This documentation comes with the following legal notice: .\" .\" This documentation is free software; you can redistribute .\" it and/or modify it under the terms of the GNU General Public .\" License as published by the Free Software Foundation; either .\" version 2 of the License, or (at your option) any later .\" version. .\" .\" This program is distributed in the hope that it will be .\" useful, but WITHOUT ANY WARRANTY; without even the implied .\" warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .\" See the GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this program; if not, write to the Free .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, .\" MA 02111-1307 USA .\" .\" For more details see the file COPYING in the source .\" distribution of Linux. .\" .\" For comments on the formatting of this manpage, please contact Michael Still .\" This manpage has been automatically generated by docbook2man .\" from a DocBook document. This tool can be found at: .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . .TH "USB_SET_CONFIGURATION" "9" "09 April 2004" "" "" .SH NAME usb_set_configuration \- Makes a particular device setting be current .SH SYNOPSIS .sp \fB .sp int usb_set_configuration (struct usb_device * \fIdev\fB, int \fIconfiguration\fB); \fR .SH "ARGUMENTS" .TP \fB\fIdev\fB\fR the device whose configuration is being updated .TP \fB\fIconfiguration\fB\fR the configuration being chosen. .SH "CONTEXT" .PP !in_interrupt () .SH "DESCRIPTION" .PP This is used to enable non-default device modes. Not all devices use this kind of configurability; many devices only have one configuration. .PP USB device configurations may affect Linux interoperability, power consumption and the functionality available. For example, the default configuration is limited to using 100mA of bus power, so that when certain device functionality requires more power, and the device is bus powered, that functionality should be in some non-default device configuration. Other device modes may also be reflected as configuration options, such as whether two ISDN channels are available independently; and choosing between open standard device protocols (like CDC) or proprietary ones. .PP Note that USB has an additional level of device configurability, associated with interfaces. That configurability is accessed using \fBusb_set_interface\fR. .PP This call is synchronous. The calling context must be able to sleep, and must not hold the driver model lock for USB; usb device driver \fBprobe\fR methods may not use this routine. .PP Returns zero on success, or else the status code returned by the underlying call that failed. On succesful completion, each interface in the original device configuration has been destroyed, and each one in the new configuration has been probed by all relevant usb device drivers currently known to the kernel. .SH "ABOUT THIS DOCUMENT" .PP This documentation was generated with kernel version 2.6.0.