X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fparport%2Fprocfs.c;h=061097fd811738551d0b4f56c5ced80e34dca626;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=afa6ac45a5dab1cefb4f78edfae6d552f93e4b46;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/drivers/parport/procfs.c b/drivers/parport/procfs.c index afa6ac45a..061097fd8 100644 --- a/drivers/parport/procfs.c +++ b/drivers/parport/procfs.c @@ -33,7 +33,7 @@ #define PARPORT_MAX_SPINTIME_VALUE 1000 static int do_active_device(ctl_table *table, int write, struct file *filp, - void __user *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 +43,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 +63,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 __user *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 +80,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,7 +105,7 @@ 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; } @@ -113,13 +113,13 @@ static int do_autoprobe(ctl_table *table, int write, struct file *filp, static int do_hardware_base_addr (ctl_table *table, int write, struct file *filp, void __user *result, - size_t *lenp) + 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 +134,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 __user *result, - size_t *lenp) + 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 +162,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 __user *result, - size_t *lenp) + 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 +190,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 __user *result, - size_t *lenp) + 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 +229,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; }