diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-04 15:11:37 -0400 |
---|---|---|
committer | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-23 07:02:18 -0400 |
commit | fe2510426a02dd2fefcb0389b60f77cbe0462289 (patch) | |
tree | adf11d28a4a90e0e46be006c4308724ef4d21859 /fs/proc/proc_misc.c | |
parent | d8ba7a363393f803c93c8cffabd6d0362618bc2a (diff) |
proc: move /proc/devices code to fs/proc/devices.c
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Diffstat (limited to 'fs/proc/proc_misc.c')
-rw-r--r-- | fs/proc/proc_misc.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index fea7d658fff6..a6fadc0cc4b0 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c | |||
@@ -107,65 +107,6 @@ static const struct file_operations proc_cpuinfo_operations = { | |||
107 | .release = seq_release, | 107 | .release = seq_release, |
108 | }; | 108 | }; |
109 | 109 | ||
110 | static int devinfo_show(struct seq_file *f, void *v) | ||
111 | { | ||
112 | int i = *(loff_t *) v; | ||
113 | |||
114 | if (i < CHRDEV_MAJOR_HASH_SIZE) { | ||
115 | if (i == 0) | ||
116 | seq_printf(f, "Character devices:\n"); | ||
117 | chrdev_show(f, i); | ||
118 | } | ||
119 | #ifdef CONFIG_BLOCK | ||
120 | else { | ||
121 | i -= CHRDEV_MAJOR_HASH_SIZE; | ||
122 | if (i == 0) | ||
123 | seq_printf(f, "\nBlock devices:\n"); | ||
124 | blkdev_show(f, i); | ||
125 | } | ||
126 | #endif | ||
127 | return 0; | ||
128 | } | ||
129 | |||
130 | static void *devinfo_start(struct seq_file *f, loff_t *pos) | ||
131 | { | ||
132 | if (*pos < (BLKDEV_MAJOR_HASH_SIZE + CHRDEV_MAJOR_HASH_SIZE)) | ||
133 | return pos; | ||
134 | return NULL; | ||
135 | } | ||
136 | |||
137 | static void *devinfo_next(struct seq_file *f, void *v, loff_t *pos) | ||
138 | { | ||
139 | (*pos)++; | ||
140 | if (*pos >= (BLKDEV_MAJOR_HASH_SIZE + CHRDEV_MAJOR_HASH_SIZE)) | ||
141 | return NULL; | ||
142 | return pos; | ||
143 | } | ||
144 | |||
145 | static void devinfo_stop(struct seq_file *f, void *v) | ||
146 | { | ||
147 | /* Nothing to do */ | ||
148 | } | ||
149 | |||
150 | static const struct seq_operations devinfo_ops = { | ||
151 | .start = devinfo_start, | ||
152 | .next = devinfo_next, | ||
153 | .stop = devinfo_stop, | ||
154 | .show = devinfo_show | ||
155 | }; | ||
156 | |||
157 | static int devinfo_open(struct inode *inode, struct file *filp) | ||
158 | { | ||
159 | return seq_open(filp, &devinfo_ops); | ||
160 | } | ||
161 | |||
162 | static const struct file_operations proc_devinfo_operations = { | ||
163 | .open = devinfo_open, | ||
164 | .read = seq_read, | ||
165 | .llseek = seq_lseek, | ||
166 | .release = seq_release, | ||
167 | }; | ||
168 | |||
169 | static int vmstat_open(struct inode *inode, struct file *file) | 110 | static int vmstat_open(struct inode *inode, struct file *file) |
170 | { | 111 | { |
171 | return seq_open(file, &vmstat_op); | 112 | return seq_open(file, &vmstat_op); |
@@ -591,7 +532,6 @@ void __init proc_misc_init(void) | |||
591 | proc_symlink("mounts", NULL, "self/mounts"); | 532 | proc_symlink("mounts", NULL, "self/mounts"); |
592 | 533 | ||
593 | /* And now for trickier ones */ | 534 | /* And now for trickier ones */ |
594 | proc_create("devices", 0, NULL, &proc_devinfo_operations); | ||
595 | proc_create("cpuinfo", 0, NULL, &proc_cpuinfo_operations); | 535 | proc_create("cpuinfo", 0, NULL, &proc_cpuinfo_operations); |
596 | #ifdef CONFIG_BLOCK | 536 | #ifdef CONFIG_BLOCK |
597 | proc_create("partitions", 0, NULL, &proc_partitions_operations); | 537 | proc_create("partitions", 0, NULL, &proc_partitions_operations); |