module.h: split out the EXPORT_SYMBOL into export.h
authorPaul Gortmaker <paul.gortmaker@windriver.com>
Mon, 23 May 2011 18:11:39 +0000 (14:11 -0400)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Wed, 11 Sep 2013 08:10:36 +0000 (17:10 +0900)
commit3b7103739d6cb619f237eba1694a4f63caf6dba7
tree1792802e47ae9581783d9e1e0e586f9a28f96cd1
parent6ab714795d568bc72f5f8bed0d47c91aea845f1c
module.h: split out the EXPORT_SYMBOL into export.h

A lot of files pull in module.h when all they are really
looking for is the basic EXPORT_SYMBOL functionality. The
recent data from Ingo[1] shows that this is one of several
instances 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 made
independent of module.h before the full benefit of this change
can be realized.

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

.owner = THIS_MODULE;

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

[1] https://lkml.org/lkml/2011/5/23/76

Change-Id: I57b65ffab7ef89a35180cbfe841a848017fcb648
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
include/linux/export.h [new file with mode: 0644]
include/linux/module.h