/* Most drivers ignore the base channel in
* insn->chanspec. Fix this here if
* the subdevice has <= 32 channels. */
- unsigned int shift;
- unsigned int orig_mask;
+ unsigned int orig_mask = data[0];
+ unsigned int shift = 0;
- orig_mask = data[0];
if (s->n_chan <= 32) {
shift = CR_CHAN(insn->chanspec);
if (shift > 0) {
data[0] <<= shift;
data[1] <<= shift;
}
- } else
- shift = 0;
+ }
ret = s->insn_bits(dev, s, insn, data);
data[0] = orig_mask;
if (shift > 0)
}
static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
- loff_t *offset)
+ loff_t *offset)
{
struct comedi_subdevice *s;
struct comedi_async *async;
struct device *csdev;
unsigned i;
- dev = kzalloc(sizeof(struct comedi_device), GFP_KERNEL);
+ dev = kzalloc(sizeof(*dev), GFP_KERNEL);
if (dev == NULL)
return ERR_PTR(-ENOMEM);
comedi_device_init(dev);