Commit bf4063e6 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: pcmuio: tidy up pcmuio_start_intr()

Refactor this function a bit to remove the need for an extra indent
level and cleanup some of the odd line breaks.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fc5ba1bd
...@@ -410,34 +410,38 @@ static int pcmuio_start_intr(struct comedi_device *dev, ...@@ -410,34 +410,38 @@ static int pcmuio_start_intr(struct comedi_device *dev,
struct pcmuio_private *devpriv = dev->private; struct pcmuio_private *devpriv = dev->private;
int asic = pcmuio_subdevice_to_asic(s); int asic = pcmuio_subdevice_to_asic(s);
struct pcmuio_asic *chip = &devpriv->asics[asic]; struct pcmuio_asic *chip = &devpriv->asics[asic];
struct comedi_cmd *cmd = &s->async->cmd;
unsigned int bits = 0;
unsigned int pol_bits = 0;
int i;
if (!chip->continuous && chip->stop_count == 0) { if (!chip->continuous && chip->stop_count == 0) {
/* An empty acquisition! */ /* An empty acquisition! */
s->async->events |= COMEDI_CB_EOA; s->async->events |= COMEDI_CB_EOA;
chip->active = 0; chip->active = 0;
return 1; return 1;
} else { }
struct comedi_cmd *cmd = &s->async->cmd;
unsigned bits = 0, pol_bits = 0, n;
chip->enabled_mask = 0; chip->enabled_mask = 0;
chip->active = 1; chip->active = 1;
if (cmd->chanlist) { if (cmd->chanlist) {
for (n = 0; n < cmd->chanlist_len; n++) { for (i = 0; i < cmd->chanlist_len; i++) {
bits |= (1U << CR_CHAN(cmd->chanlist[n])); unsigned int chanspec = cmd->chanlist[i];
pol_bits |= (CR_AREF(cmd->chanlist[n]) unsigned int chan = CR_CHAN(chanspec);
|| CR_RANGE(cmd-> unsigned int range = CR_RANGE(chanspec);
chanlist[n]) ? 1U : 0U) unsigned int aref = CR_AREF(chanspec);
<< CR_CHAN(cmd->chanlist[n]);
bits |= (1 << chan);
pol_bits |= ((aref || range) ? 1 : 0) << chan;
} }
} }
bits &= ((0x1 << s->n_chan) - 1); bits &= ((1 << s->n_chan) - 1);
chip->enabled_mask = bits; chip->enabled_mask = bits;
/* set pol and enab intrs for this subdev.. */ /* set pol and enab intrs for this subdev.. */
pcmuio_write(dev, pol_bits, asic, PCMUIO_PAGE_POL, 0); pcmuio_write(dev, pol_bits, asic, PCMUIO_PAGE_POL, 0);
pcmuio_write(dev, bits, asic, PCMUIO_PAGE_ENAB, 0); pcmuio_write(dev, bits, asic, PCMUIO_PAGE_ENAB, 0);
}
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment