diff options
| author | Cliff Wickman <cpw@sgi.com> | 2008-11-10 17:16:31 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-11-11 05:38:50 -0500 |
| commit | a3d732f93785da17e0137210deadb4616f5536fc (patch) | |
| tree | 4b7bdbaf63369063a1478c4d91d027bcd82fc271 | |
| parent | 7d9d1f25c3872080ce599e5dd0dac3305d0a028b (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>
| -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 @@ | |||
| 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; |
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) | |||
| 317 | { | 317 | { |
| 318 | struct proc_entry *p; | 318 | struct proc_entry *p; |
| 319 | 319 | ||
| 320 | proc_mkdir("sgi_uv", NULL); | ||
| 321 | proc_gru = proc_mkdir("sgi_uv/gru", NULL); | 320 | proc_gru = proc_mkdir("sgi_uv/gru", NULL); |
| 322 | 321 | ||
| 323 | for (p = proc_files; p->name; p++) | 322 | for (p = proc_files; p->name; p++) |
