[tip:x86/setup] x86/dmi: fix dmi_alloc() section mismatches

From: Jeremy Fitzhardinge
Date: Mon Mar 23 2009 - 12:40:51 EST


Commit-ID: c8608d6b58981a58ca4aee8308576666c5f7ab0c
Gitweb: http://git.kernel.org/tip/c8608d6b58981a58ca4aee8308576666c5f7ab0c
Author: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
AuthorDate: Sun, 22 Mar 2009 14:48:44 -0700
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Mon, 23 Mar 2009 17:20:50 +0100

x86/dmi: fix dmi_alloc() section mismatches

Impact: section mismatch fix

Ingo reports these warnings:
> WARNING: vmlinux.o(.text+0x6a288e): Section mismatch in reference from
> the function dmi_alloc() to the function .init.text:extend_brk()
> The function dmi_alloc() references
> the function __init extend_brk().
> This is often because dmi_alloc lacks a __init annotation or the
> annotation of extend_brk is wrong.

dmi_alloc() is a static inline, and so should be immune to this
kind of error. But force it to be inlined and make it __init
anyway, just to be extra sure.

All of dmi_alloc()'s callers are already __init.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
LKML-Reference: <49C6B23C.2040308@xxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>


---
arch/x86/include/asm/dmi.h | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/x86/include/asm/dmi.h b/arch/x86/include/asm/dmi.h
index aa32f7e..fd8f9e2 100644
--- a/arch/x86/include/asm/dmi.h
+++ b/arch/x86/include/asm/dmi.h
@@ -1,10 +1,13 @@
#ifndef _ASM_X86_DMI_H
#define _ASM_X86_DMI_H

+#include <linux/compiler.h>
+#include <linux/init.h>
+
#include <asm/io.h>
#include <asm/setup.h>

-static inline void *dmi_alloc(unsigned len)
+static __always_inline __init void *dmi_alloc(unsigned len)
{
return extend_brk(len, sizeof(int));
}
--
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/