X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fsbus%2Fchar%2Fenvctrl.c;h=cd6e2d39fa6cf7b822729c0a73e1687d394e9850;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=0c5e0a004fd127af99de7a44a01f8f5db12672c0;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/drivers/sbus/char/envctrl.c b/drivers/sbus/char/envctrl.c index 0c5e0a004..cd6e2d39f 100644 --- a/drivers/sbus/char/envctrl.c +++ b/drivers/sbus/char/envctrl.c @@ -556,7 +556,7 @@ static unsigned char envctrl_i2c_voltage_status(struct i2c_child_t *pchild, * Return: Number of read bytes. 0 for error. */ static ssize_t -envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) +envctrl_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) { struct i2c_child_t *pchild; unsigned char data[10]; @@ -574,7 +574,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) data[0] = (unsigned char)(warning_temperature); ret = 1; - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -584,7 +584,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) data[0] = (unsigned char)(shutdown_temperature); ret = 1; - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -592,7 +592,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) if (!(pchild = envctrl_get_i2c_child(ENVCTRL_MTHRBDTEMP_MON))) return 0; ret = envctrl_read_noncpu_info(pchild, ENVCTRL_MTHRBDTEMP_MON, data); - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -602,7 +602,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) ret = envctrl_read_cpu_info(read_cpu, pchild, ENVCTRL_CPUTEMP_MON, data); /* Reset cpu to the default cpu0. */ - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -612,7 +612,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) ret = envctrl_read_cpu_info(read_cpu, pchild, ENVCTRL_CPUVOLTAGE_MON, data); /* Reset cpu to the default cpu0. */ - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -620,7 +620,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) if (!(pchild = envctrl_get_i2c_child(ENVCTRL_SCSITEMP_MON))) return 0; ret = envctrl_read_noncpu_info(pchild, ENVCTRL_SCSITEMP_MON, data); - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -628,7 +628,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) if (!(pchild = envctrl_get_i2c_child(ENVCTRL_ETHERTEMP_MON))) return 0; ret = envctrl_read_noncpu_info(pchild, ENVCTRL_ETHERTEMP_MON, data); - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -637,7 +637,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) return 0; data[0] = envctrl_i2c_read_8574(pchild->addr); ret = envctrl_i2c_fan_status(pchild,data[0], data); - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -646,7 +646,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) return 0; data[0] = envctrl_i2c_read_8574(pchild->addr); ret = envctrl_i2c_globaladdr(pchild, data[0], data); - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -657,7 +657,7 @@ envctrl_read(struct file *file, char *buf, size_t count, loff_t *ppos) return 0; data[0] = envctrl_i2c_read_8574(pchild->addr); ret = envctrl_i2c_voltage_status(pchild, data[0], data); - if (copy_to_user((unsigned char *)buf, data, ret)) + if (copy_to_user(buf, data, ret)) ret = -EFAULT; break; @@ -676,7 +676,7 @@ static int envctrl_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { - char *infobuf; + char __user *infobuf; switch (cmd) { case ENVCTRL_RD_WARNING_TEMPERATURE: @@ -695,7 +695,7 @@ envctrl_ioctl(struct inode *inode, struct file *file, /* Check to see if application passes in any cpu number, * the default is cpu0. */ - infobuf = (char *) arg; + infobuf = (char __user *) arg; if (infobuf == NULL) { read_cpu = 0; }else { @@ -719,7 +719,7 @@ envctrl_ioctl(struct inode *inode, struct file *file, static int envctrl_open(struct inode *inode, struct file *file) { - file->private_data = 0; + file->private_data = NULL; return 0; } @@ -1181,8 +1181,7 @@ static void __exit envctrl_cleanup(void) if (!found) break; - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(HZ); + msleep(1000); } kenvctrld_task = NULL; }