1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>i2c_new_device</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Device Drivers"><link rel="up" href="i2c.html" title="Chapter 10. I2C and SMBus Subsystem"><link rel="prev" href="API-i2c-unlock-adapter.html" title="i2c_unlock_adapter"><link rel="next" href="API-i2c-unregister-device.html" title="i2c_unregister_device"></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">i2c_new_device</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-i2c-unlock-adapter.html">Prev</a> </td><th width="60%" align="center">Chapter 10. I<sup>2</sup>C and SMBus Subsystem</th><td width="20%" align="right"> <a accesskey="n" href="API-i2c-unregister-device.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-i2c-new-device"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>i2c_new_device — 2 instantiate an i2c device 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">struct i2c_client * <b class="fsfunc">i2c_new_device </b>(</code></td><td>struct i2c_adapter * <var class="pdparam">adap</var>, </td></tr><tr><td> </td><td>struct i2c_board_info const * <var class="pdparam">info</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1115352172"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>adap</code></em></span></dt><dd><p> 4 the adapter managing the device 5 </p></dd><dt><span class="term"><em class="parameter"><code>info</code></em></span></dt><dd><p> 6 describes one I2C device; bus_num is ignored 7 </p></dd></dl></div></div><div class="refsect1"><a name="idp1115354844"></a><h2>Context</h2><p> 8 can sleep 9</p></div><div class="refsect1"><a name="idp1115355460"></a><h2>Description</h2><p> 10 Create an i2c device. Binding is handled through driver model 11 <code class="function">probe</code>/<code class="function">remove</code> methods. A driver may be bound to this device when we 12 return from this function, or any later moment (e.g. maybe hotplugging will 13 load the driver module). This call is not appropriate for use by mainboard 14 initialization logic, which usually runs during an <code class="function">arch_initcall</code> long 15 before any i2c_adapter could exist. 16 </p><p> 17 18 This returns the new i2c client, which may be saved for later use with 19 <code class="function">i2c_unregister_device</code>; or NULL to indicate an error. 20</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-i2c-unlock-adapter.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="i2c.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-i2c-unregister-device.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">i2c_unlock_adapter</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">i2c_unregister_device</span></td></tr></table></div></body></html> 21