aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorCliff Wickman <cpw@sgi.com>2008-11-10 17:16:31 -0500
committerIngo Molnar <mingo@elte.hu>2008-11-11 05:38:50 -0500
commita3d732f93785da17e0137210deadb4616f5536fc (patch)
tree4b7bdbaf63369063a1478c4d91d027bcd82fc271 /arch
parent7d9d1f25c3872080ce599e5dd0dac3305d0a028b (diff)
x86, UV: fix redundant creation of sgi_uv
Impact: fix double entry creation in /proc There is a collision between two UV functions: both uv_ptc_init() and gru_proc_init() try to make /proc/sgi_uv So move it's creation to a single place: uv_system_init() Signed-off-by: Cliff Wickman <cpw@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/genx2apic_uv_x.c2
-rw-r--r--arch/x86/kernel/tlb_uv.c4
2 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kernel/genx2apic_uv_x.c b/arch/x86/kernel/genx2apic_uv_x.c
index 85fb7dd48f67..d7213a1cb784 100644
--- a/arch/x86/kernel/genx2apic_uv_x.c
+++ b/arch/x86/kernel/genx2apic_uv_x.c
@@ -20,6 +20,7 @@
20#include <linux/module.h> 20#include <linux/module.h>
21#include <linux/hardirq.h> 21#include <linux/hardirq.h>
22#include <linux/timer.h> 22#include <linux/timer.h>
23#include <linux/proc_fs.h>
23#include <asm/current.h> 24#include <asm/current.h>
24#include <asm/smp.h> 25#include <asm/smp.h>
25#include <asm/ipi.h> 26#include <asm/ipi.h>
@@ -570,4 +571,5 @@ void __init uv_system_init(void)
570 571
571 uv_cpu_init(); 572 uv_cpu_init();
572 uv_scir_register_cpu_notifier(); 573 uv_scir_register_cpu_notifier();
574 proc_mkdir("sgi_uv", NULL);
573} 575}
diff --git a/arch/x86/kernel/tlb_uv.c b/arch/x86/kernel/tlb_uv.c
index 04431f34fd16..6a00e5faaa74 100644
--- a/arch/x86/kernel/tlb_uv.c
+++ b/arch/x86/kernel/tlb_uv.c
@@ -566,14 +566,10 @@ static int __init uv_ptc_init(void)
566 if (!is_uv_system()) 566 if (!is_uv_system())
567 return 0; 567 return 0;
568 568
569 if (!proc_mkdir("sgi_uv", NULL))
570 return -EINVAL;
571
572 proc_uv_ptc = create_proc_entry(UV_PTC_BASENAME, 0444, NULL); 569 proc_uv_ptc = create_proc_entry(UV_PTC_BASENAME, 0444, NULL);
573 if (!proc_uv_ptc) { 570 if (!proc_uv_ptc) {
574 printk(KERN_ERR "unable to create %s proc entry\n", 571 printk(KERN_ERR "unable to create %s proc entry\n",
575 UV_PTC_BASENAME); 572 UV_PTC_BASENAME);
576 remove_proc_entry("sgi_uv", NULL);
577 return -EINVAL; 573 return -EINVAL;
578 } 574 }
579 proc_uv_ptc->proc_fops = &proc_uv_ptc_operations; 575 proc_uv_ptc->proc_fops = &proc_uv_ptc_operations;