[PATCH 01/11] module.h: split out the EXPORT_SYMBOL for faster compiles

Date

Thu, 28 Jul 2011 01:16:08 -0400

A lot of files pull in module.h when all they are reallylooking for is the basic EXPORT_SYMBOL functionality. Therecent data from Ingo[1] shows that this is one of severalinstances that has a significant impact on compile times,and it should be targeted for factoring out (as done here).

Note that several commonly used header files in include/*directly include <linux/module.h> themselves (some 34 of them!)The most commonly used ones of these will have to be madeindependent of module.h before the full benefit of this changecan be realized.

We also transition THIS_MODULE from module.h to export.h,since there are lots of files with subsystem structs thatin turn will have a struct module *owner and only be doing:

.owner = THIS_MODULE;

and absolutely nothing else modular. So, we also want to havethe THIS_MODULE definition present in the lightweight header.