sysctl: pass kernel pointers to ->proc_handler
[linux-2.6-block.git] / drivers / parport / procfs.c
index 48804049d6972631f3179659b31bf3db3966c149..ee7b5daabfd438beb15df7b5c0901dbf26ce63e9 100644 (file)
@@ -34,7 +34,7 @@
 #define PARPORT_MAX_SPINTIME_VALUE 1000
 
 static int do_active_device(struct ctl_table *table, int write,
-                     void __user *result, size_t *lenp, loff_t *ppos)
+                     void *result, size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[256];
@@ -65,13 +65,13 @@ static int do_active_device(struct ctl_table *table, int write,
                *lenp = len;
 
        *ppos += len;
-
-       return copy_to_user(result, buffer, len) ? -EFAULT : 0;
+       memcpy(result, buffer, len);
+       return 0;
 }
 
 #ifdef CONFIG_PARPORT_1284
 static int do_autoprobe(struct ctl_table *table, int write,
-                       void __user *result, size_t *lenp, loff_t *ppos)
+                       void *result, size_t *lenp, loff_t *ppos)
 {
        struct parport_device_info *info = table->extra2;
        const char *str;
@@ -108,13 +108,13 @@ static int do_autoprobe(struct ctl_table *table, int write,
 
        *ppos += len;
 
-       return copy_to_user (result, buffer, len) ? -EFAULT : 0;
+       memcpy(result, buffer, len);
+       return 0;
 }
 #endif /* IEEE1284.3 support. */
 
 static int do_hardware_base_addr(struct ctl_table *table, int write,
-                                void __user *result,
-                                size_t *lenp, loff_t *ppos)
+                                void *result, size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[20];
@@ -136,13 +136,12 @@ static int do_hardware_base_addr(struct ctl_table *table, int write,
                *lenp = len;
 
        *ppos += len;
-
-       return copy_to_user(result, buffer, len) ? -EFAULT : 0;
+       memcpy(result, buffer, len);
+       return 0;
 }
 
 static int do_hardware_irq(struct ctl_table *table, int write,
-                          void __user *result,
-                          size_t *lenp, loff_t *ppos)
+                          void *result, size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[20];
@@ -164,13 +163,12 @@ static int do_hardware_irq(struct ctl_table *table, int write,
                *lenp = len;
 
        *ppos += len;
-
-       return copy_to_user(result, buffer, len) ? -EFAULT : 0;
+       memcpy(result, buffer, len);
+       return 0;
 }
 
 static int do_hardware_dma(struct ctl_table *table, int write,
-                          void __user *result,
-                          size_t *lenp, loff_t *ppos)
+                          void *result, size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[20];
@@ -192,13 +190,12 @@ static int do_hardware_dma(struct ctl_table *table, int write,
                *lenp = len;
 
        *ppos += len;
-
-       return copy_to_user(result, buffer, len) ? -EFAULT : 0;
+       memcpy(result, buffer, len);
+       return 0;
 }
 
 static int do_hardware_modes(struct ctl_table *table, int write,
-                            void __user *result,
-                            size_t *lenp, loff_t *ppos)
+                            void *result, size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[40];
@@ -231,8 +228,8 @@ static int do_hardware_modes(struct ctl_table *table, int write,
                *lenp = len;
 
        *ppos += len;
-
-       return copy_to_user(result, buffer, len) ? -EFAULT : 0;
+       memcpy(result, buffer, len);
+       return 0;
 }
 
 #define PARPORT_PORT_DIR(CHILD) { .procname = NULL, .mode = 0555, .child = CHILD }