fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / parport / procfs.c
index d08504a..2e744a2 100644 (file)
@@ -1,6 +1,6 @@
 /* Sysctl interface for parport devices.
  * 
- * Authors: David Campbell <campbell@torque.net>
+ * Authors: David Campbell
  *          Tim Waugh <tim@cyberelk.demon.co.uk>
  *          Philip Blundell <philb@gnu.org>
  *          Andrea Arcangeli
@@ -13,7 +13,6 @@
  */
 
 #include <linux/string.h>
-#include <linux/config.h>
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/errno.h>
@@ -33,7 +32,7 @@
 #define PARPORT_MAX_SPINTIME_VALUE 1000
 
 static int do_active_device(ctl_table *table, int write, struct file *filp,
-                     void *result, size_t *lenp)
+                     void __user *result, size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[256];
@@ -43,7 +42,7 @@ static int do_active_device(ctl_table *table, int write, struct file *filp,
        if (write)              /* can't happen anyway */
                return -EACCES;
 
-       if (filp->f_pos) {
+       if (*ppos) {
                *lenp = 0;
                return 0;
        }
@@ -63,14 +62,14 @@ static int do_active_device(ctl_table *table, int write, struct file *filp,
        else
                *lenp = len;
 
-       filp->f_pos += len;
+       *ppos += len;
 
        return copy_to_user(result, buffer, len) ? -EFAULT : 0;
 }
 
 #ifdef CONFIG_PARPORT_1284
 static int do_autoprobe(ctl_table *table, int write, struct file *filp,
-                       void *result, size_t *lenp)
+                       void __user *result, size_t *lenp, loff_t *ppos)
 {
        struct parport_device_info *info = table->extra2;
        const char *str;
@@ -80,7 +79,7 @@ static int do_autoprobe(ctl_table *table, int write, struct file *filp,
        if (write) /* permissions stop this */
                return -EACCES;
 
-       if (filp->f_pos) {
+       if (*ppos) {
                *lenp = 0;
                return 0;
        }
@@ -105,21 +104,21 @@ static int do_autoprobe(ctl_table *table, int write, struct file *filp,
        else
                *lenp = len;
 
-       filp->f_pos += len;
+       *ppos += len;
 
        return copy_to_user (result, buffer, len) ? -EFAULT : 0;
 }
 #endif /* IEEE1284.3 support. */
 
 static int do_hardware_base_addr (ctl_table *table, int write,
-                                 struct file *filp, void *result,
-                                 size_t *lenp)
+                                 struct file *filp, void __user *result,
+                                 size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[20];
        int len = 0;
 
-       if (filp->f_pos) {
+       if (*ppos) {
                *lenp = 0;
                return 0;
        }
@@ -134,20 +133,20 @@ static int do_hardware_base_addr (ctl_table *table, int write,
        else
                *lenp = len;
 
-       filp->f_pos += len;
+       *ppos += len;
 
        return copy_to_user(result, buffer, len) ? -EFAULT : 0;
 }
 
 static int do_hardware_irq (ctl_table *table, int write,
-                           struct file *filp, void *result,
-                           size_t *lenp)
+                           struct file *filp, void __user *result,
+                           size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[20];
        int len = 0;
 
-       if (filp->f_pos) {
+       if (*ppos) {
                *lenp = 0;
                return 0;
        }
@@ -162,20 +161,20 @@ static int do_hardware_irq (ctl_table *table, int write,
        else
                *lenp = len;
 
-       filp->f_pos += len;
+       *ppos += len;
 
        return copy_to_user(result, buffer, len) ? -EFAULT : 0;
 }
 
 static int do_hardware_dma (ctl_table *table, int write,
-                           struct file *filp, void *result,
-                           size_t *lenp)
+                           struct file *filp, void __user *result,
+                           size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[20];
        int len = 0;
 
-       if (filp->f_pos) {
+       if (*ppos) {
                *lenp = 0;
                return 0;
        }
@@ -190,20 +189,20 @@ static int do_hardware_dma (ctl_table *table, int write,
        else
                *lenp = len;
 
-       filp->f_pos += len;
+       *ppos += len;
 
        return copy_to_user(result, buffer, len) ? -EFAULT : 0;
 }
 
 static int do_hardware_modes (ctl_table *table, int write,
-                             struct file *filp, void *result,
-                             size_t *lenp)
+                             struct file *filp, void __user *result,
+                             size_t *lenp, loff_t *ppos)
 {
        struct parport *port = (struct parport *)table->extra1;
        char buffer[40];
        int len = 0;
 
-       if (filp->f_pos) {
+       if (*ppos) {
                *lenp = 0;
                return 0;
        }
@@ -229,7 +228,7 @@ static int do_hardware_modes (ctl_table *table, int write,
        else
                *lenp = len;
 
-       filp->f_pos += len;
+       *ppos += len;
 
        return copy_to_user(result, buffer, len) ? -EFAULT : 0;
 }
@@ -529,8 +528,5 @@ static void __exit parport_default_proc_unregister (void)
 }
 #endif
 
-EXPORT_SYMBOL(parport_device_proc_register);
-EXPORT_SYMBOL(parport_device_proc_unregister);
-
 module_init(parport_default_proc_register)
 module_exit(parport_default_proc_unregister)