.. | .. |
---|
46 | 46 | * array of comedi_krange structures to rangeinfo->range_ptr pointer |
---|
47 | 47 | */ |
---|
48 | 48 | int do_rangeinfo_ioctl(struct comedi_device *dev, |
---|
49 | | - struct comedi_rangeinfo __user *arg) |
---|
| 49 | + struct comedi_rangeinfo *it) |
---|
50 | 50 | { |
---|
51 | | - struct comedi_rangeinfo it; |
---|
52 | 51 | int subd, chan; |
---|
53 | 52 | const struct comedi_lrange *lr; |
---|
54 | 53 | struct comedi_subdevice *s; |
---|
55 | 54 | |
---|
56 | | - if (copy_from_user(&it, arg, sizeof(struct comedi_rangeinfo))) |
---|
57 | | - return -EFAULT; |
---|
58 | | - subd = (it.range_type >> 24) & 0xf; |
---|
59 | | - chan = (it.range_type >> 16) & 0xff; |
---|
| 55 | + subd = (it->range_type >> 24) & 0xf; |
---|
| 56 | + chan = (it->range_type >> 16) & 0xff; |
---|
60 | 57 | |
---|
61 | 58 | if (!dev->attached) |
---|
62 | 59 | return -EINVAL; |
---|
.. | .. |
---|
73 | 70 | return -EINVAL; |
---|
74 | 71 | } |
---|
75 | 72 | |
---|
76 | | - if (RANGE_LENGTH(it.range_type) != lr->length) { |
---|
| 73 | + if (RANGE_LENGTH(it->range_type) != lr->length) { |
---|
77 | 74 | dev_dbg(dev->class_dev, |
---|
78 | 75 | "wrong length %d should be %d (0x%08x)\n", |
---|
79 | | - RANGE_LENGTH(it.range_type), |
---|
80 | | - lr->length, it.range_type); |
---|
| 76 | + RANGE_LENGTH(it->range_type), |
---|
| 77 | + lr->length, it->range_type); |
---|
81 | 78 | return -EINVAL; |
---|
82 | 79 | } |
---|
83 | 80 | |
---|
84 | | - if (copy_to_user(it.range_ptr, lr->range, |
---|
| 81 | + if (copy_to_user(it->range_ptr, lr->range, |
---|
85 | 82 | sizeof(struct comedi_krange) * lr->length)) |
---|
86 | 83 | return -EFAULT; |
---|
87 | 84 | |
---|