Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86: Audit and remove any remaining unnecessary uses of module.h

Historically a lot of these existed because we did not have
a distinction between what was modular code and what was providing
support to modules via EXPORT_SYMBOL and friends. That changed
when we forked out support for the latter into the export.h file.

This means we should be able to reduce the usage of module.h
in code that is obj-y Makefile or bool Kconfig. In the case of
some of these which are modular, we can extend that to also include
files that are building basic support functionality but not related
to loading or registering the final module; such files also have
no need whatsoever for module.h

The advantage in removing such instances is that module.h itself
sources about 15 other headers; adding significantly to what we feed
cpp, and it can obscure what headers we are effectively using.

Since module.h was the source for init.h (for __init) and for
export.h (for EXPORT_SYMBOL) we consider each instance for the
presence of either and replace as needed.

In the case of crypto/glue_helper.c we delete a redundant instance
of MODULE_LICENSE in order to delete module.h -- the license info
is already present at the top of the file.

The uncore change warrants a mention too; it is uncore.c that uses
module.h and not uncore.h; hence the relocation done there.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20160714001901.31603-9-paul.gortmaker@windriver.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>

authored by

Paul Gortmaker and committed by
Ingo Molnar
eb008eb6 1767e931

+11 -12
+1 -3
arch/x86/crypto/glue_helper.c
··· 25 25 * 26 26 */ 27 27 28 - #include <linux/module.h> 28 + #include <linux/export.h> 29 29 #include <crypto/b128ops.h> 30 30 #include <crypto/lrw.h> 31 31 #include <crypto/xts.h> ··· 397 397 u128_xor(dst, dst, (u128 *)&ivblk); 398 398 } 399 399 EXPORT_SYMBOL_GPL(glue_xts_crypt_128bit_one); 400 - 401 - MODULE_LICENSE("GPL");
+2 -1
arch/x86/events/amd/ibs.c
··· 7 7 */ 8 8 9 9 #include <linux/perf_event.h> 10 - #include <linux/module.h> 10 + #include <linux/init.h> 11 + #include <linux/export.h> 11 12 #include <linux/pci.h> 12 13 #include <linux/ptrace.h> 13 14 #include <linux/syscore_ops.h>
+1 -1
arch/x86/events/amd/iommu.c
··· 12 12 */ 13 13 14 14 #include <linux/perf_event.h> 15 - #include <linux/module.h> 15 + #include <linux/init.h> 16 16 #include <linux/cpumask.h> 17 17 #include <linux/slab.h> 18 18
+2 -1
arch/x86/events/core.c
··· 17 17 #include <linux/notifier.h> 18 18 #include <linux/hardirq.h> 19 19 #include <linux/kprobes.h> 20 - #include <linux/module.h> 20 + #include <linux/export.h> 21 + #include <linux/init.h> 21 22 #include <linux/kdebug.h> 22 23 #include <linux/sched.h> 23 24 #include <linux/uaccess.h>
+2
arch/x86/events/intel/uncore.c
··· 1 + #include <linux/module.h> 2 + 1 3 #include <asm/cpu_device_id.h> 2 4 #include "uncore.h" 3 5
-1
arch/x86/events/intel/uncore.h
··· 1 - #include <linux/module.h> 2 1 #include <linux/slab.h> 3 2 #include <linux/pci.h> 4 3 #include <asm/apicdef.h>
-1
arch/x86/include/asm/livepatch.h
··· 22 22 #define _ASM_X86_LIVEPATCH_H 23 23 24 24 #include <asm/setup.h> 25 - #include <linux/module.h> 26 25 #include <linux/ftrace.h> 27 26 28 27 static inline int klp_check_compiler_support(void)
-1
arch/x86/kernel/cpu/mtrr/if.c
··· 2 2 #include <linux/seq_file.h> 3 3 #include <linux/uaccess.h> 4 4 #include <linux/proc_fs.h> 5 - #include <linux/module.h> 6 5 #include <linux/ctype.h> 7 6 #include <linux/string.h> 8 7 #include <linux/slab.h>
+1 -1
arch/x86/kernel/cpu/mtrr/main.c
··· 38 38 #include <linux/stop_machine.h> 39 39 #include <linux/kvm_para.h> 40 40 #include <linux/uaccess.h> 41 - #include <linux/module.h> 41 + #include <linux/export.h> 42 42 #include <linux/mutex.h> 43 43 #include <linux/init.h> 44 44 #include <linux/sort.h>
+1 -1
arch/x86/pci/xen.c
··· 9 9 * Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> 10 10 * Stefano Stabellini <stefano.stabellini@eu.citrix.com> 11 11 */ 12 - #include <linux/module.h> 12 + #include <linux/export.h> 13 13 #include <linux/init.h> 14 14 #include <linux/pci.h> 15 15 #include <linux/acpi.h>
+1 -1
arch/x86/um/delay.c
··· 7 7 * published by the Free Software Foundation. 8 8 */ 9 9 10 - #include <linux/module.h> 10 + #include <linux/export.h> 11 11 #include <linux/kernel.h> 12 12 #include <linux/delay.h> 13 13 #include <asm/param.h>