1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>usb_register_dev</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux-USB Host Side API"><link rel="up" href="usbcore.html" title="Chapter 5. USB Core APIs"><link rel="prev" href="API-usb-driver-set-configuration.html" title="usb_driver_set_configuration"><link rel="next" href="API-usb-deregister-dev.html" title="usb_deregister_dev"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">usb_register_dev</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-usb-driver-set-configuration.html">Prev</a> </td><th width="60%" align="center">Chapter 5. USB Core APIs</th><td width="20%" align="right"> <a accesskey="n" href="API-usb-deregister-dev.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-usb-register-dev"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>usb_register_dev — 2 register a USB device, and ask for a minor number 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">usb_register_dev </b>(</code></td><td>struct usb_interface * <var class="pdparam">intf</var>, </td></tr><tr><td> </td><td>struct usb_class_driver * <var class="pdparam">class_driver</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1116299468"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>intf</code></em></span></dt><dd><p> 4 pointer to the usb_interface that is being registered 5 </p></dd><dt><span class="term"><em class="parameter"><code>class_driver</code></em></span></dt><dd><p> 6 pointer to the usb_class_driver for this device 7 </p></dd></dl></div></div><div class="refsect1"><a name="idp1116302084"></a><h2>Description</h2><p> 8 This should be called by all USB drivers that use the USB major number. 9 If CONFIG_USB_DYNAMIC_MINORS is enabled, the minor number will be 10 dynamically allocated out of the list of available ones. If it is not 11 enabled, the minor number will be based on the next available free minor, 12 starting at the class_driver->minor_base. 13 </p><p> 14 15 This function also creates a usb class device in the sysfs tree. 16 </p><p> 17 18 <code class="function">usb_deregister_dev</code> must be called when the driver is done with 19 the minor numbers given out by this function. 20</p></div><div class="refsect1"><a name="idp1116304076"></a><h2>Return</h2><p> 21 -EINVAL if something bad happens with trying to register a 22 device, and 0 on success. 23</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-usb-driver-set-configuration.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="usbcore.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-usb-deregister-dev.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">usb_driver_set_configuration</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">usb_deregister_dev</span></td></tr></table></div></body></html> 24