Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > cf93d8a8acdcc6fe2225039da0502495 > files > 454

kernel-doc-2.6.32-131.17.1.el6.centos.plus.noarch.rpm

<?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>bus_for_each_drv</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="ch02.html#id3048322" title="Device Drivers Base" /><link rel="prev" href="re247.html" title="bus_find_device_by_name" /><link rel="next" href="re249.html" title="bus_rescan_devices" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>bus_for_each_drv</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re247.html">Prev</a>&#160;</td><th width="60%" align="center">Device Drivers Base</th><td width="20%" align="right">&#160;<a accesskey="n" href="re249.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="bus_for_each_drv"><a id="API-bus-for-each-drv"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>bus_for_each_drv &#8212; 
     driver iterator
 </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">int <b class="fsfunc">bus_for_each_drv </b>(</code></td><td>struct bus_type * <var class="pdparam">bus</var>, </td></tr><tr><td>&#160;</td><td>struct device_driver * <var class="pdparam">start</var>, </td></tr><tr><td>&#160;</td><td>void * <var class="pdparam">data</var>, </td></tr><tr><td>&#160;</td><td>int (*<var class="pdparam">fn</var>)
     <code>(</code>struct device_driver *, void *<code>)</code><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1" title="Arguments"><a id="id3060904"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>bus</code></em></span></dt><dd><p>
     bus we're dealing with.
    </p></dd><dt><span class="term"><em class="parameter"><code>start</code></em></span></dt><dd><p>
     driver to start iterating on.
    </p></dd><dt><span class="term"><em class="parameter"><code>data</code></em></span></dt><dd><p>
     data to pass to the callback.
    </p></dd><dt><span class="term"><em class="parameter"><code>fn</code></em></span></dt><dd><p>
     function to call for each driver.
    </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id3060982"></a><h2>Description</h2><p>
   This is nearly identical to the device iterator above.
   We iterate over each driver that belongs to <em class="parameter"><code>bus</code></em>, and call
   <em class="parameter"><code>fn</code></em> for each. If <em class="parameter"><code>fn</code></em> returns anything but 0, we break out
   and return it. If <em class="parameter"><code>start</code></em> is not NULL, we use it as the head
   of the list.
</p></div><div class="refsect1" title="NOTE"><a id="id3061019"></a><h2>NOTE</h2><p>
   we don't return the driver that returns a non-zero
   value, nor do we leave the reference count incremented for that
   driver. If the caller needs to know that info, it must set it
   in the callback. It must also be sure to increment the refcount
   so it doesn't disappear before returning to the caller.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re247.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html#id3048322">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="re249.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>bus_find_device_by_name</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span>bus_rescan_devices</span></td></tr></table></div></body></html>