.. | .. |
---|
34 | 34 | #define PARPORT_MAX_SPINTIME_VALUE 1000 |
---|
35 | 35 | |
---|
36 | 36 | static int do_active_device(struct ctl_table *table, int write, |
---|
37 | | - void __user *result, size_t *lenp, loff_t *ppos) |
---|
| 37 | + void *result, size_t *lenp, loff_t *ppos) |
---|
38 | 38 | { |
---|
39 | 39 | struct parport *port = (struct parport *)table->extra1; |
---|
40 | 40 | char buffer[256]; |
---|
.. | .. |
---|
65 | 65 | *lenp = len; |
---|
66 | 66 | |
---|
67 | 67 | *ppos += len; |
---|
68 | | - |
---|
69 | | - return copy_to_user(result, buffer, len) ? -EFAULT : 0; |
---|
| 68 | + memcpy(result, buffer, len); |
---|
| 69 | + return 0; |
---|
70 | 70 | } |
---|
71 | 71 | |
---|
72 | 72 | #ifdef CONFIG_PARPORT_1284 |
---|
73 | 73 | static int do_autoprobe(struct ctl_table *table, int write, |
---|
74 | | - void __user *result, size_t *lenp, loff_t *ppos) |
---|
| 74 | + void *result, size_t *lenp, loff_t *ppos) |
---|
75 | 75 | { |
---|
76 | 76 | struct parport_device_info *info = table->extra2; |
---|
77 | 77 | const char *str; |
---|
.. | .. |
---|
108 | 108 | |
---|
109 | 109 | *ppos += len; |
---|
110 | 110 | |
---|
111 | | - return copy_to_user (result, buffer, len) ? -EFAULT : 0; |
---|
| 111 | + memcpy(result, buffer, len); |
---|
| 112 | + return 0; |
---|
112 | 113 | } |
---|
113 | 114 | #endif /* IEEE1284.3 support. */ |
---|
114 | 115 | |
---|
115 | 116 | static int do_hardware_base_addr(struct ctl_table *table, int write, |
---|
116 | | - void __user *result, |
---|
117 | | - size_t *lenp, loff_t *ppos) |
---|
| 117 | + void *result, size_t *lenp, loff_t *ppos) |
---|
118 | 118 | { |
---|
119 | 119 | struct parport *port = (struct parport *)table->extra1; |
---|
120 | 120 | char buffer[20]; |
---|
.. | .. |
---|
136 | 136 | *lenp = len; |
---|
137 | 137 | |
---|
138 | 138 | *ppos += len; |
---|
139 | | - |
---|
140 | | - return copy_to_user(result, buffer, len) ? -EFAULT : 0; |
---|
| 139 | + memcpy(result, buffer, len); |
---|
| 140 | + return 0; |
---|
141 | 141 | } |
---|
142 | 142 | |
---|
143 | 143 | static int do_hardware_irq(struct ctl_table *table, int write, |
---|
144 | | - void __user *result, |
---|
145 | | - size_t *lenp, loff_t *ppos) |
---|
| 144 | + void *result, size_t *lenp, loff_t *ppos) |
---|
146 | 145 | { |
---|
147 | 146 | struct parport *port = (struct parport *)table->extra1; |
---|
148 | 147 | char buffer[20]; |
---|
.. | .. |
---|
164 | 163 | *lenp = len; |
---|
165 | 164 | |
---|
166 | 165 | *ppos += len; |
---|
167 | | - |
---|
168 | | - return copy_to_user(result, buffer, len) ? -EFAULT : 0; |
---|
| 166 | + memcpy(result, buffer, len); |
---|
| 167 | + return 0; |
---|
169 | 168 | } |
---|
170 | 169 | |
---|
171 | 170 | static int do_hardware_dma(struct ctl_table *table, int write, |
---|
172 | | - void __user *result, |
---|
173 | | - size_t *lenp, loff_t *ppos) |
---|
| 171 | + void *result, size_t *lenp, loff_t *ppos) |
---|
174 | 172 | { |
---|
175 | 173 | struct parport *port = (struct parport *)table->extra1; |
---|
176 | 174 | char buffer[20]; |
---|
.. | .. |
---|
192 | 190 | *lenp = len; |
---|
193 | 191 | |
---|
194 | 192 | *ppos += len; |
---|
195 | | - |
---|
196 | | - return copy_to_user(result, buffer, len) ? -EFAULT : 0; |
---|
| 193 | + memcpy(result, buffer, len); |
---|
| 194 | + return 0; |
---|
197 | 195 | } |
---|
198 | 196 | |
---|
199 | 197 | static int do_hardware_modes(struct ctl_table *table, int write, |
---|
200 | | - void __user *result, |
---|
201 | | - size_t *lenp, loff_t *ppos) |
---|
| 198 | + void *result, size_t *lenp, loff_t *ppos) |
---|
202 | 199 | { |
---|
203 | 200 | struct parport *port = (struct parport *)table->extra1; |
---|
204 | 201 | char buffer[40]; |
---|
.. | .. |
---|
213 | 210 | return -EACCES; |
---|
214 | 211 | |
---|
215 | 212 | { |
---|
216 | | -#define printmode(x) {if(port->modes&PARPORT_MODE_##x){len+=sprintf(buffer+len,"%s%s",f?",":"",#x);f++;}} |
---|
| 213 | +#define printmode(x) \ |
---|
| 214 | +do { \ |
---|
| 215 | + if (port->modes & PARPORT_MODE_##x) \ |
---|
| 216 | + len += sprintf(buffer + len, "%s%s", f++ ? "," : "", #x); \ |
---|
| 217 | +} while (0) |
---|
217 | 218 | int f = 0; |
---|
218 | 219 | printmode(PCSPP); |
---|
219 | 220 | printmode(TRISTATE); |
---|
.. | .. |
---|
231 | 232 | *lenp = len; |
---|
232 | 233 | |
---|
233 | 234 | *ppos += len; |
---|
234 | | - |
---|
235 | | - return copy_to_user(result, buffer, len) ? -EFAULT : 0; |
---|
| 235 | + memcpy(result, buffer, len); |
---|
| 236 | + return 0; |
---|
236 | 237 | } |
---|
237 | 238 | |
---|
238 | 239 | #define PARPORT_PORT_DIR(CHILD) { .procname = NULL, .mode = 0555, .child = CHILD } |
---|