[PATCH -mm] x86/mm: Fix section mismatch

From: Rakib Mullick
Date: Fri Feb 13 2009 - 09:24:22 EST


Impact: Fix section mismatch.

Currently pat_init calls pat_disable which is annoted with __cpuinit.
Thus requires pat_init to be
annoted with __cpuinit, otherwise causes the following warning.

LD arch/x86/mm/built-in.o
WARNING: arch/x86/mm/built-in.o(.text+0x1fff): Section mismatch in
reference from the function pat_init() to the function
.cpuinit.text:pat_disable()
The function pat_init() references
the function __cpuinit pat_disable().
This is often because pat_init lacks a __cpuinit
annotation or the annotation of pat_disable is wrong.

After annotating pat_init with __cpuinit, it generates the following
warning when CONFIG_x86_PAT=n.

MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0xd48b): Section mismatch in reference from
the function generic_set_all() to the function
.cpuinit.text:pat_init()
The function generic_set_all() references
the function __cpuinit pat_init().
This is often because generic_set_all lacks a __cpuinit
annotation or the annotation of pat_init is wrong.

This patch fixes the above warnings.

---
Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx>

--- linus/arch/x86/mm/pat.c 2009-02-13 11:23:25.000000000 +0600
+++ rakib/arch/x86/mm/pat.c 2009-02-13 11:21:49.000000000 +0600
@@ -76,7 +76,7 @@ enum {

#define PAT(x, y) ((u64)PAT_ ## y << ((x)*8))

-void pat_init(void)
+void __cpuinit pat_init(void)
{
u64 pat;

---
--- linus/arch/x86/kernel/cpu/mtrr/generic.c 2009-02-13 10:24:25.000000000 +0600
+++ rakib/arch/x86/kernel/cpu/mtrr/generic.c 2009-02-13 12:47:55.000000000 +0600
@@ -543,7 +543,7 @@ static void post_set(void) __releases(se
spin_unlock(&set_atomicity_lock);
}

-static void generic_set_all(void)
+static void __cpuinit generic_set_all(void)
{
unsigned long mask, count;
unsigned long flags;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/