On Wed, Jul 05, 2017 at 02:50:59PM +0800, Shiyao MA wrote: > Hi, > > How do you include the kernel headers? > > For example, > Currently I have the headers: > #include <linux/module.h> > #include <linux/kthread.h> > #include <linux/delay.h> > > And now I wanna use the `struct workqueue_struct'. It turns out I > don't have to include the "linux/workqueue.h". > > So it must have already been included by the three headers above. > > My question is: > > What's the practice of including headers? > Should I specifically include "linux/workqueue.h" ? To be safe, yes, please do, sometimes other arches will not pull in the .h files automatically that you expect them to. So be specific. > Another question is particular to the above three headers: does any of > them guarantee to include the "linux/queue.h"? Nope, if you need it, list it. > If there is any documentation about the API of the headers (e.g., what > they include), that will be great. What exactly do you mean by this? thanks, greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies