.\" 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_NEW_DEVICE" "9" "09 October 2005" "" ""
.SH NAME
usb_new_device \- perform initial device setup (usbcore-internal)
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int usb_new_device (struct usb_device * \fIudev\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIudev\fB\fR
newly addressed device (in ADDRESS state)
.SH "DESCRIPTION"
.PP
This is called with devices which have been enumerated, but not yet
configured. The device descriptor is available, but not descriptors
for any device configuration. The caller must have locked udev and
either the parent hub (if udev is a normal device) or else the
usb_bus_list_lock (if udev is a root hub). The parent's pointer to
udev has already been installed, but udev is not yet visible through
sysfs or other filesystem code.
.PP
Returns 0 for success (device is configured and listed, with its
interfaces, in sysfs); else a negative errno value.
.PP
This call is synchronous, and may not be used in an interrupt context.
.PP
Only the hub driver should ever call this; root hub registration
uses it indirectly.