How to set work_struct data
Hi, Current INIT_WORK() macro takes just work_struct pointer and function pointer. In previous kernels there used to be a third parameter for data. Is there a proper way to set data in work_struct? Thanks
On Thu, Apr 21, 2011 at 6:22 PM, Pankaj B <xpankajbx@gmail.com> wrote:
Hi, Current INIT_WORK() macro takes just work_struct pointer and function pointer. In previous kernels there used to be a third parameter for data. Is there a proper way to set data in work_struct?
Embed the work_struct into your structure. Then use container_of() to get the structure in work function. So you can add anything into your structure.
Thanks _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Thu, Apr 21, 2011 at 4:56 PM, Haojian Zhuang <haojian.zhuang@gmail.com>wrote:
On Thu, Apr 21, 2011 at 6:22 PM, Pankaj B <xpankajbx@gmail.com> wrote:
Hi, Current INIT_WORK() macro takes just work_struct pointer and function pointer. In previous kernels there used to be a third parameter for data. Is there a proper way to set data in work_struct?
Embed the work_struct into your structure. Then use container_of() to get the structure in work function. So you can add anything into your structure.
Good solution! Thanks!
participants (2)
-
Haojian Zhuang -
Pankaj B