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

staging: comedi: pcmda12: tidy up zero_chans()

Rename the function so it has namespace associated with the driver.

For aesthetic reasons, move the function closer to it's only caller.

Pass the comedi_subdevice pointer to the function so we can get the
number of channels to reset from it instead of using the 'CHANS'
define.

Remove the 'CHANS' define since it's a very generic name.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 78b2db4f
......@@ -49,7 +49,6 @@ Configuration Options:
#include "../comedidev.h"
#define CHANS 8
#define IOSIZE 16
/* AI range is not configurable, it's set by jumpers on the board */
......@@ -62,24 +61,10 @@ static const struct comedi_lrange pcmda12_ranges = {
};
struct pcmda12_private {
unsigned int ao_readback[CHANS];
unsigned int ao_readback[8];
int simultaneous_xfer_mode;
};
static void zero_chans(struct comedi_device *dev)
{
int i;
for (i = 0; i < CHANS; ++i) {
outb(0, dev->iobase + (i * 2));
outb(0, dev->iobase + (i * 2) + 1);
}
/* Initiate transfer by reading one of the AO registers. */
inb(dev->iobase);
}
static int pcmda12_ao_insn_write(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -130,6 +115,19 @@ static int pcmda12_ao_insn_read(struct comedi_device *dev,
return insn->n;
}
static void pcmda12_ao_reset(struct comedi_device *dev,
struct comedi_subdevice *s)
{
int i;
for (i = 0; i < s->n_chan; ++i) {
outb(0, dev->iobase + (i * 2));
outb(0, dev->iobase + (i * 2) + 1);
}
/* Initiate transfer by reading one of the AO registers. */
inb(dev->iobase);
}
static int pcmda12_attach(struct comedi_device *dev,
struct comedi_devconfig *it)
{
......@@ -155,13 +153,13 @@ static int pcmda12_attach(struct comedi_device *dev,
s = &dev->subdevices[0];
s->type = COMEDI_SUBD_AO;
s->subdev_flags = SDF_READABLE | SDF_WRITABLE;
s->n_chan = CHANS;
s->n_chan = 8;
s->maxdata = 0x0fff;
s->range_table = &pcmda12_ranges;
s->insn_write = pcmda12_ao_insn_write;
s->insn_read = pcmda12_ao_insn_read;
zero_chans(dev); /* clear out all the registers, basically */
pcmda12_ao_reset(dev, s);
return 1;
}
......
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