Hi Andy, On 11/19/21 16:34, Andy Shevchenko wrote: > On Fri, Nov 19, 2021 at 04:06:27PM +0100, Alejandro Colomar (man-pages) wrote: >> Yes, I would like to untangle the dependencies. >> >> The main reason I started doing this splitting >> is because I wouldn't be able to include >> <linux/stddef.h> in some headers, >> because it pulled too much stuff that broke unrelated things. >> >> So that's why I started from there. >> >> I for example would like to get NULL in memberof() >> without puling anything else, >> so <linux/NULL.h> makes sense for that. > > I don't believe that the code that uses NULL won't include types.h. I'm not sure about the error I got (I didn't write it down), but I got a compilation error. That's why I split NULL. If one could anwer my doubt, I would be in better position to learn how to avoid them. See below. On 11/19/21 16:06, Alejandro Colomar (man-pages) wrote: > BTW, I also have a longstanding doubt about > how header files are organized in the kernel, > and which headers can and cannot be included > from which other files. > > For example I see that files in samples or scripts or tools, > that redefine many things such as offsetof() or ARRAY_SIZE(), > and I don't know if there's a good reason for that, > or if I should simply remove all that stuff and > include <linux/offsetof.h> everywhere I see offsetof() being used. Thanks, Alex -- Alejandro Colomar Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/ http://www.alejandro-colomar.es/