Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > 2c51d8eb79f8810ada971ee8c30ce1e5 > files > 1182

kernel-doc-2.6.32-71.14.1.el6.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>sysfs_schedule_callback</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="Linux Filesystems API" /><link rel="up" href="ch03.html" title="Chapter&#160;3.&#160;The Filesystem for Exporting Kernel Objects" /><link rel="prev" href="re149.html" title="sysfs_remove_file_from_group" /><link rel="next" href="re151.html" title="sysfs_create_link" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>sysfs_schedule_callback</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re149.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;3.&#160;The Filesystem for Exporting Kernel Objects</th><td width="20%" align="right">&#160;<a accesskey="n" href="re151.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="sysfs_schedule_callback"><a id="API-sysfs-schedule-callback"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sysfs_schedule_callback &#8212; 
     helper to schedule a callback for a kobject
 </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">sysfs_schedule_callback </b>(</code></td><td>struct kobject * <var class="pdparam">kobj</var>, </td></tr><tr><td>&#160;</td><td>void (*<var class="pdparam">func</var>)
     <code>(</code>void *<code>)</code>, </td></tr><tr><td>&#160;</td><td>void * <var class="pdparam">data</var>, </td></tr><tr><td>&#160;</td><td>struct module * <var class="pdparam">owner</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1" title="Arguments"><a id="id3120082"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>kobj</code></em></span></dt><dd><p>
     object we're acting for.
    </p></dd><dt><span class="term"><em class="parameter"><code>func</code></em></span></dt><dd><p>
     callback function to invoke later.
    </p></dd><dt><span class="term"><em class="parameter"><code>data</code></em></span></dt><dd><p>
     argument to pass to <em class="parameter"><code>func</code></em>.
    </p></dd><dt><span class="term"><em class="parameter"><code>owner</code></em></span></dt><dd><p>
     module owning the callback code
    </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id3120166"></a><h2>Description</h2><p>
   sysfs attribute methods must not unregister themselves or their parent
   kobject (which would amount to the same thing).  Attempts to do so will
   deadlock, since unregistration is mutually exclusive with driver
   callbacks.
   </p><p>

   Instead methods can call this routine, which will attempt to allocate
   and schedule a workqueue request to call back <em class="parameter"><code>func</code></em> with <em class="parameter"><code>data</code></em> as its
   argument in the workqueue's process context.  <em class="parameter"><code>kobj</code></em> will be pinned
   until <em class="parameter"><code>func</code></em> returns.
   </p><p>

   Returns 0 if the request was submitted, -ENOMEM if storage could not
   be allocated, -ENODEV if a reference to <em class="parameter"><code>owner</code></em> isn't available,
   -EAGAIN if a callback has already been scheduled for <em class="parameter"><code>kobj</code></em>.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re149.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch03.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="re151.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>sysfs_remove_file_from_group</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>sysfs_create_link</span></td></tr></table></div></body></html>