x86/percpu: Remove unnecessary include of module.h, add asm/desc.h

This was originally a part of commit 186f43608a:

    ("x86/kernel: Audit and remove any unnecessary uses of module.h")

...but without the asm/desc.h addition.  As such, Ingo reported a
build failure on i386 allnoconfig with SMP=y during his pre-merge
testing.   For expediency the chunk was just dropped at that time.

The failure was as follows:

  arch/x86/kernel/setup_percpu.c: In function ‘setup_percpu_segment’:
  arch/x86/kernel/setup_percpu.c:159:2: error: implicit declaration of function ‘pack_descriptor’ [-Werror=implicit-function-declaration]
  arch/x86/kernel/setup_percpu.c:162:2: error: implicit declaration of function ‘write_gdt_entry’ [-Werror=implicit-function-declaration]
  arch/x86/kernel/setup_percpu.c:162:18: error: implicit declaration of function ‘get_cpu_gdt_table’ [-Werror=implicit-function-declaration]

As pack_descriptor(), write_gdt_entry() and get_cpu_gdt_table() all
live in the file arch/x86/include/asm/desc.h -- calling that header
out explicitly should fix things.

Reported-by: Ingo Molnar <mingo@redhat.com>
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/20161114190443.10873-1-paul.gortmaker@windriver.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Paul Gortmaker 2016-11-14 14:04:43 -05:00 committed by Ingo Molnar
parent e76d21c40b
commit 523d0fb4f0

View File

@ -1,7 +1,7 @@
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/export.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/bootmem.h> #include <linux/bootmem.h>
#include <linux/percpu.h> #include <linux/percpu.h>
@ -12,6 +12,7 @@
#include <linux/pfn.h> #include <linux/pfn.h>
#include <asm/sections.h> #include <asm/sections.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/desc.h>
#include <asm/setup.h> #include <asm/setup.h>
#include <asm/mpspec.h> #include <asm/mpspec.h>
#include <asm/apicdef.h> #include <asm/apicdef.h>