diff --git a/drivers/staging/comedi/drivers/dt9812.c b/drivers/staging/comedi/drivers/dt9812.c index 965e96ddb8d15531ae2710ee518ae937fef1a7ad..3e471baaea0edbb6f0f45fec27925781717a99da 100644 --- a/drivers/staging/comedi/drivers/dt9812.c +++ b/drivers/staging/comedi/drivers/dt9812.c @@ -603,9 +603,11 @@ static int dt9812_analog_out_shadow(struct slot_dt9812 *slot, int channel, return result; } -static int dt9812_analog_out(struct slot_dt9812 *slot, int channel, u16 value) +static int dt9812_analog_out(struct comedi_device *dev, int channel, u16 value) { - int result = -ENODEV; + struct dt9812_private *devpriv = dev->private; + struct slot_dt9812 *slot = devpriv->slot; + int ret = -ENODEV; down(&slot->mutex); if (slot->usb) { @@ -648,12 +650,12 @@ static int dt9812_analog_out(struct slot_dt9812 *slot, int channel, u16 value) rmw[2].or_value = (value >> 8) & 0xf; break; } - result = dt9812_rmw_multiple_registers(slot->usb, 3, rmw); + ret = dt9812_rmw_multiple_registers(slot->usb, 3, rmw); slot->usb->analog_out_shadow[channel] = value; } up(&slot->mutex); - return result; + return ret; } static int dt9812_di_rinsn(struct comedi_device *dev, @@ -727,12 +729,11 @@ static int dt9812_ao_winsn(struct comedi_device *dev, struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data) { - struct dt9812_private *devpriv = dev->private; unsigned int channel = CR_CHAN(insn->chanspec); int n; for (n = 0; n < insn->n; n++) - dt9812_analog_out(devpriv->slot, channel, data[n]); + dt9812_analog_out(dev, channel, data[n]); return n; }