#ifdef CONFIG_PROC_FS
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
-#include <asm/sn/sgi.h>
#include <asm/sn/sn_sal.h>
static int partition_id_show(struct seq_file *s, void *p)
}
static ssize_t sn_force_interrupt_write_proc(struct file *file,
- const __user char *buffer, size_t count, loff_t *data)
+ const char __user *buffer, size_t count, loff_t *data)
{
- sn_force_interrupt_flag = (*buffer == '0') ? 0 : 1;
+ char val;
+
+ if (copy_from_user(&val, buffer, 1))
+ return -EFAULT;
+
+ sn_force_interrupt_flag = (val == '0') ? 0 : 1;
return count;
}
static int coherence_id_show(struct seq_file *s, void *p)
{
- seq_printf(s, "%d\n", cpuid_to_coherence_id(smp_processor_id()));
+ seq_printf(s, "%d\n", partition_coherence_id());
+
return 0;
}
struct proc_dir_entry *e;
BUG_ON(sgi_proc_dir != NULL);
- if (!(sgi_proc_dir = proc_mkdir("sgi_sn", 0)))
+ if (!(sgi_proc_dir = proc_mkdir("sgi_sn", NULL)))
return;
sn_procfs_create_entry("partition_id", sgi_proc_dir,