.. | .. |
---|
53 | 53 | |
---|
54 | 54 | static int parse_qos(const char *buff); |
---|
55 | 55 | |
---|
56 | | -/* |
---|
57 | | - * Define allowed FILE OPERATIONS |
---|
58 | | - */ |
---|
59 | | -static const struct file_operations mpc_file_operations = { |
---|
60 | | - .open = proc_mpc_open, |
---|
61 | | - .read = seq_read, |
---|
62 | | - .llseek = seq_lseek, |
---|
63 | | - .write = proc_mpc_write, |
---|
64 | | - .release = seq_release, |
---|
| 56 | +static const struct proc_ops mpc_proc_ops = { |
---|
| 57 | + .proc_open = proc_mpc_open, |
---|
| 58 | + .proc_read = seq_read, |
---|
| 59 | + .proc_lseek = seq_lseek, |
---|
| 60 | + .proc_write = proc_mpc_write, |
---|
| 61 | + .proc_release = seq_release, |
---|
65 | 62 | }; |
---|
66 | 63 | |
---|
67 | 64 | /* |
---|
.. | .. |
---|
222 | 219 | if (!page) |
---|
223 | 220 | return -ENOMEM; |
---|
224 | 221 | |
---|
225 | | - for (p = page, len = 0; len < nbytes; p++, len++) { |
---|
| 222 | + for (p = page, len = 0; len < nbytes; p++) { |
---|
226 | 223 | if (get_user(*p, buff++)) { |
---|
227 | 224 | free_page((unsigned long)page); |
---|
228 | 225 | return -EFAULT; |
---|
229 | 226 | } |
---|
| 227 | + len += 1; |
---|
230 | 228 | if (*p == '\0' || *p == '\n') |
---|
231 | 229 | break; |
---|
232 | 230 | } |
---|
.. | .. |
---|
290 | 288 | { |
---|
291 | 289 | struct proc_dir_entry *p; |
---|
292 | 290 | |
---|
293 | | - p = proc_create(STAT_FILE_NAME, 0, atm_proc_root, &mpc_file_operations); |
---|
| 291 | + p = proc_create(STAT_FILE_NAME, 0, atm_proc_root, &mpc_proc_ops); |
---|
294 | 292 | if (!p) { |
---|
295 | 293 | pr_err("Unable to initialize /proc/atm/%s\n", STAT_FILE_NAME); |
---|
296 | 294 | return -ENOMEM; |
---|