diff options
| author | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-04 14:13:59 +0400 | 
|---|---|---|
| committer | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-23 14:29:04 +0400 | 
| commit | cf9887f102541b8a0adb73f7da9c28d090622010 (patch) | |
| tree | c06fa077c8d8fcf6d88a267172a6322619e5f7e0 | |
| parent | 6827400713fa22312ca3b4f47b0e64871c88040c (diff) | |
| download | olio-linux-3.10-cf9887f102541b8a0adb73f7da9c28d090622010.tar.xz olio-linux-3.10-cf9887f102541b8a0adb73f7da9c28d090622010.zip  | |
proc: switch /proc/cmdline to seq_file
and move it to fs/proc/cmdline.c while I'm at it.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
| -rw-r--r-- | fs/proc/Makefile | 1 | ||||
| -rw-r--r-- | fs/proc/cmdline.c | 29 | ||||
| -rw-r--r-- | fs/proc/proc_misc.c | 10 | 
3 files changed, 30 insertions, 10 deletions
diff --git a/fs/proc/Makefile b/fs/proc/Makefile index 97985c848ac..48f9f0f121b 100644 --- a/fs/proc/Makefile +++ b/fs/proc/Makefile @@ -9,6 +9,7 @@ proc-$(CONFIG_MMU)	:= mmu.o task_mmu.o  proc-y       += inode.o root.o base.o generic.o array.o \  		proc_tty.o proc_misc.o +proc-y	+= cmdline.o  proc-y	+= loadavg.o  proc-y	+= meminfo.o  proc-y	+= uptime.o diff --git a/fs/proc/cmdline.c b/fs/proc/cmdline.c new file mode 100644 index 00000000000..82676e3fcd1 --- /dev/null +++ b/fs/proc/cmdline.c @@ -0,0 +1,29 @@ +#include <linux/fs.h> +#include <linux/init.h> +#include <linux/proc_fs.h> +#include <linux/seq_file.h> + +static int cmdline_proc_show(struct seq_file *m, void *v) +{ +	seq_printf(m, "%s\n", saved_command_line); +	return 0; +} + +static int cmdline_proc_open(struct inode *inode, struct file *file) +{ +	return single_open(file, cmdline_proc_show, NULL); +} + +static const struct file_operations cmdline_proc_fops = { +	.open		= cmdline_proc_open, +	.read		= seq_read, +	.llseek		= seq_lseek, +	.release	= single_release, +}; + +static int __init proc_cmdline_init(void) +{ +	proc_create("cmdline", 0, NULL, &cmdline_proc_fops); +	return 0; +} +module_init(proc_cmdline_init); diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index 9fa20f157cf..15257d4b1b9 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c @@ -472,15 +472,6 @@ static const struct file_operations proc_interrupts_operations = {  	.release	= seq_release,  }; -static int cmdline_read_proc(char *page, char **start, off_t off, -				 int count, int *eof, void *data) -{ -	int len; - -	len = sprintf(page, "%s\n", saved_command_line); -	return proc_calc_metrics(page, start, off, count, eof, len); -} -  #ifdef CONFIG_FILE_LOCKING  static int locks_open(struct inode *inode, struct file *filp)  { @@ -641,7 +632,6 @@ void __init proc_misc_init(void)  		char *name;  		int (*read_proc)(char*,char**,off_t,int,int*,void*);  	} *p, simple_ones[] = { -		{"cmdline",	cmdline_read_proc},  		{"execdomains",	execdomains_read_proc},  		{NULL,}  	};  |