diff options
-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 97985c848ac3..48f9f0f121b0 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 000000000000..82676e3fcd1d --- /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 9fa20f157cf3..15257d4b1b91 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,} }; |