summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorWang Chen <wangchen@cn.fujitsu.com>2009-03-25 14:07:11 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-25 14:07:11 +0100
commit9f4f25c86ff2233dd98d4bd6968afb1ca66558a0 (patch)
treef9d29becb0f2158bb3abe55f3e8e4c987b54ff7f /arch
parentMerge branches 'x86/apic', 'x86/cleanups', 'x86/mm', 'x86/pat', 'x86/setup' a... (diff)
downloadlinux-9f4f25c86ff2233dd98d4bd6968afb1ca66558a0.tar.xz
linux-9f4f25c86ff2233dd98d4bd6968afb1ca66558a0.zip
x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe
Tetsuo Handa reported this link bug: | arch/x86/mm/built-in.o(.init.text+0x1831): In function `early_ioremap_init': | : undefined reference to `__this_fixmap_does_not_exist' | make: *** [.tmp_vmlinux1] Error 1 Commit:8827247ffcc9e880cbe4705655065cf011265157 used a variable (which would be optimized to constant) as fix_to_virt()'s parameter. It's depended on gcc's optimization and fails on old gcc. (Tetsuo used gcc 3.3) We can use __fix_to_vir() instead, because we know it's safe and don't need link time error reporting. Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com> Cc: sfr@canb.auug.org.au LKML-Reference: <49C9FFEA.7060908@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/mm/ioremap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 83ed74affba9..0dfa09d69e80 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -516,7 +516,7 @@ void __init early_ioremap_init(void)
printk(KERN_INFO "early_ioremap_init()\n");
for (i = 0; i < FIX_BTMAPS_SLOTS; i++)
- slot_virt[i] = fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i);
+ slot_virt[i] = __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i);
pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN));
memset(bm_pte, 0, sizeof(bm_pte));