<p><br>
On May 3, 2012 8:37 PM, &quot;夏业添&quot; &lt;<a href="mailto:summerxyt@gmail.com">summerxyt@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi,<br>
&gt;<br>
&gt; I want to use workqueue in my irq handler. Some materials say that I can use<br>
&gt;<br>
&gt;    INIT_WORK( &amp;work, function, &amp;data );<br>
&gt;<br>
&gt; to initialize work, whose type is struct work_struct, and data is<br>
&gt; something should be passed to function.<br>
&gt; however, it seems that now the macro INIT_WORK() only accept two<br>
&gt; parameters:&amp;work and function.<br>
&gt;<br>
&gt; My problem is how to pass data to the function and why they change that macro?<br>
&gt;<br>
&gt; Thanks!<br>
&gt;<br>
May be you are looking for something like this:<br>
 <a href="http://www.linuxforums.org/forum/kernel/183688-init_work-two-arguments.html">http://www.linuxforums.org/forum/kernel/183688-init_work-two-arguments.html</a></p>
<p>~chetan  _______________________________________________<br>
&gt; Kernelnewbies mailing list<br>
&gt; <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
&gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</p>