x86: Fix a section mismatch in arch/x86/kernel/setup.c
authorHelight.Xu <helight.xu@gmail.com>
Mon, 30 Nov 2009 10:33:51 +0000 (18:33 +0800)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 30 Nov 2009 19:16:49 +0000 (11:16 -0800)
copy_edd() should be __init.
warning msg:
WARNING: vmlinux.o(.text+0x7759): Section mismatch in reference from the
function copy_edd() to the variable .init.data:boot_params
The function copy_edd() references
the variable __initdata boot_params.
This is often because copy_edd lacks a __initdata
annotation or the annotation of boot_params is wrong.

Signed-off-by: ZhenwenXu <helight.xu@gmail.com>
LKML-Reference: <4B139F8F.4000907@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/setup.c

index e09f0e2c14b5e83487b91a9a02049a802a7830ef..e020b2d03b4fcc0cefb6d53b5bb47a5f99c6ff2e 100644 (file)
@@ -247,7 +247,7 @@ EXPORT_SYMBOL(edd);
  *              from boot_params into a safe place.
  *
  */
-static inline void copy_edd(void)
+static inline void __init copy_edd(void)
 {
      memcpy(edd.mbr_signature, boot_params.edd_mbr_sig_buffer,
            sizeof(edd.mbr_signature));
@@ -256,7 +256,7 @@ static inline void copy_edd(void)
      edd.edd_info_nr = boot_params.eddbuf_entries;
 }
 #else
-static inline void copy_edd(void)
+static inline void __init copy_edd(void)
 {
 }
 #endif