From: Alexey Dobriyan Date: Sat, 4 Oct 2008 10:13:59 +0000 (+0400) Subject: proc: switch /proc/cmdline to seq_file X-Git-Tag: v2.6.28-rc1~14^2~23 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=cf9887f102541b8a0adb73f7da9c28d090622010;p=linux-2.6-omap-h63xx.git 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 --- 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 +#include +#include +#include + +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,} };