git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ARM: SAMSUNG: Move mach/ts.h to plat/ts.h
[safe/jmp/linux-2.6]
/
arch
/
um
/
kernel
/
process.c
diff --git
a/arch/um/kernel/process.c
b/arch/um/kernel/process.c
index
83603cf
..
fab4371
100644
(file)
--- a/
arch/um/kernel/process.c
+++ b/
arch/um/kernel/process.c
@@
-7,13
+7,15
@@
#include <linux/stddef.h>
#include <linux/err.h>
#include <linux/hardirq.h>
#include <linux/stddef.h>
#include <linux/err.h>
#include <linux/hardirq.h>
-#include <linux/gfp.h>
#include <linux/mm.h>
#include <linux/mm.h>
+#include <linux/module.h>
#include <linux/personality.h>
#include <linux/proc_fs.h>
#include <linux/ptrace.h>
#include <linux/random.h>
#include <linux/personality.h>
#include <linux/proc_fs.h>
#include <linux/ptrace.h>
#include <linux/random.h>
+#include <linux/slab.h>
#include <linux/sched.h>
#include <linux/sched.h>
+#include <linux/seq_file.h>
#include <linux/tick.h>
#include <linux/threads.h>
#include <asm/current.h>
#include <linux/tick.h>
#include <linux/threads.h>
#include <asm/current.h>
@@
-179,7
+181,7
@@
void fork_handler(void)
userspace(¤t->thread.regs.regs);
}
userspace(¤t->thread.regs.regs);
}
-int copy_thread(
int nr,
unsigned long clone_flags, unsigned long sp,
+int copy_thread(unsigned long clone_flags, unsigned long sp,
unsigned long stack_top, struct task_struct * p,
struct pt_regs *regs)
{
unsigned long stack_top, struct task_struct * p,
struct pt_regs *regs)
{
@@
-243,7
+245,7
@@
void default_idle(void)
if (need_resched())
schedule();
if (need_resched())
schedule();
- tick_nohz_stop_sched_tick();
+ tick_nohz_stop_sched_tick(
1
);
nsecs = disable_timer();
idle_sleep(nsecs);
tick_nohz_restart_sched_tick();
nsecs = disable_timer();
idle_sleep(nsecs);
tick_nohz_restart_sched_tick();
@@
-336,16
+338,19
@@
int get_using_sysemu(void)
return atomic_read(&using_sysemu);
}
return atomic_read(&using_sysemu);
}
-static int
proc_read_sysemu(char *buf, char **start, off_t offset, int size,int *eof, void *data
)
+static int
sysemu_proc_show(struct seq_file *m, void *v
)
{
{
- if (snprintf(buf, size, "%d\n", get_using_sysemu()) < size)
- /* No overflow */
- *eof = 1;
+ seq_printf(m, "%d\n", get_using_sysemu());
+ return 0;
+}
- return strlen(buf);
+static int sysemu_proc_open(struct inode *inode, struct file *file)
+{
+ return single_open(file, sysemu_proc_show, NULL);
}
}
-static int proc_write_sysemu(struct file *file,const char __user *buf, unsigned long count,void *data)
+static ssize_t sysemu_proc_write(struct file *file, const char __user *buf,
+ size_t count, loff_t *pos)
{
char tmp[2];
{
char tmp[2];
@@
-358,13
+363,22
@@
static int proc_write_sysemu(struct file *file,const char __user *buf, unsigned
return count;
}
return count;
}
+static const struct file_operations sysemu_proc_fops = {
+ .owner = THIS_MODULE,
+ .open = sysemu_proc_open,
+ .read = seq_read,
+ .llseek = seq_lseek,
+ .release = single_release,
+ .write = sysemu_proc_write,
+};
+
int __init make_proc_sysemu(void)
{
struct proc_dir_entry *ent;
if (!sysemu_supported)
return 0;
int __init make_proc_sysemu(void)
{
struct proc_dir_entry *ent;
if (!sysemu_supported)
return 0;
- ent =
create_proc_entry("sysemu", 0600, NULL
);
+ ent =
proc_create("sysemu", 0600, NULL, &sysemu_proc_fops
);
if (ent == NULL)
{
if (ent == NULL)
{
@@
-372,9
+386,6
@@
int __init make_proc_sysemu(void)
return 0;
}
return 0;
}
- ent->read_proc = proc_read_sysemu;
- ent->write_proc = proc_write_sysemu;
-
return 0;
}
return 0;
}