<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><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.75.2" /><link rel="home" href="index.html" title="Linux Device Drivers" /><link rel="up" href="ch10.html" title="Chapter 10. I2C and SMBus Subsystem" /><link rel="prev" href="re762.html" title="i2c_verify_client" /><link rel="next" href="re764.html" title="i2c_unregister_device" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>i2c_new_device</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re762.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="re764.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="i2c_new_device"><a id="API-i2c-new-device"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>i2c_new_device — instantiate an i2c device </p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><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" title="Arguments"><a id="id2709894"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>adap</code></em></span></dt><dd><p> the adapter managing the device </p></dd><dt><span class="term"><em class="parameter"><code>info</code></em></span></dt><dd><p> describes one I2C device; bus_num is ignored </p></dd></dl></div></div><div class="refsect1" title="Context"><a id="id2709939"></a><h2>Context</h2><p> can sleep </p></div><div class="refsect1" title="Description"><a id="id2709949"></a><h2>Description</h2><p> Create an i2c device. Binding is handled through driver model <code class="function">probe</code>/<code class="function">remove</code> methods. A driver may be bound to this device when we return from this function, or any later moment (e.g. maybe hotplugging will load the driver module). This call is not appropriate for use by mainboard initialization logic, which usually runs during an <code class="function">arch_initcall</code> long before any i2c_adapter could exist. </p><p> This returns the new i2c client, which may be saved for later use with <code class="function">i2c_unregister_device</code>; or NULL to indicate an error. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re762.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch10.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="re764.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>i2c_verify_client</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span>i2c_unregister_device</span></td></tr></table></div></body></html>