diff options
author | Cliff Wickman <cpw@sgi.com> | 2008-11-10 16:16:31 -0600 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-11 11:38:50 +0100 |
commit | a3d732f93785da17e0137210deadb4616f5536fc (patch) | |
tree | 4b7bdbaf63369063a1478c4d91d027bcd82fc271 | |
parent | 7d9d1f25c3872080ce599e5dd0dac3305d0a028b (diff) | |
download | linux-a3d732f93785da17e0137210deadb4616f5536fc.tar.gz linux-a3d732f93785da17e0137210deadb4616f5536fc.tar.bz2 linux-a3d732f93785da17e0137210deadb4616f5536fc.zip |
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>
-rw-r--r-- | arch/x86/kernel/genx2apic_uv_x.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/tlb_uv.c | 4 | ||||
-rw-r--r-- | drivers/misc/sgi-gru/gruprocfs.c | 1 |
3 files changed, 2 insertions, 5 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 @@ #include <linux/module.h> #include <linux/hardirq.h> #include <linux/timer.h> +#include <linux/proc_fs.h> #include <asm/current.h> #include <asm/smp.h> #include <asm/ipi.h> @@ -570,4 +571,5 @@ void __init uv_system_init(void) uv_cpu_init(); uv_scir_register_cpu_notifier(); + proc_mkdir("sgi_uv", NULL); } 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) if (!is_uv_system()) return 0; - if (!proc_mkdir("sgi_uv", NULL)) - return -EINVAL; - proc_uv_ptc = create_proc_entry(UV_PTC_BASENAME, 0444, NULL); if (!proc_uv_ptc) { printk(KERN_ERR "unable to create %s proc entry\n", UV_PTC_BASENAME); - remove_proc_entry("sgi_uv", NULL); return -EINVAL; } proc_uv_ptc->proc_fops = &proc_uv_ptc_operations; diff --git a/drivers/misc/sgi-gru/gruprocfs.c b/drivers/misc/sgi-gru/gruprocfs.c index 533923f83f1a..73b0ca061bb5 100644 --- a/drivers/misc/sgi-gru/gruprocfs.c +++ b/drivers/misc/sgi-gru/gruprocfs.c @@ -317,7 +317,6 @@ int gru_proc_init(void) { struct proc_entry *p; - proc_mkdir("sgi_uv", NULL); proc_gru = proc_mkdir("sgi_uv/gru", NULL); for (p = proc_files; p->name; p++) |