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

staging: comedi: addi_apci_3120: move apci3120_set_chanlist() to driver source

Move this function from the included hwdrv_apci31210.c source file to the
main driver source file.
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 0a3e5181
......@@ -96,34 +96,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
#define APCI3120_COUNTER 3
static void apci3120_set_chanlist(struct comedi_device *dev,
struct comedi_subdevice *s,
int n_chan, unsigned int *chanlist)
{
struct apci3120_private *devpriv = dev->private;
int i;
/* set scan length (PR) and scan start (PA) */
devpriv->ctrl = APCI3120_CTRL_PR(n_chan - 1) | APCI3120_CTRL_PA(0);
outw(devpriv->ctrl, dev->iobase + APCI3120_CTRL_REG);
/* set chanlist for scan */
for (i = 0; i < n_chan; i++) {
unsigned int chan = CR_CHAN(chanlist[i]);
unsigned int range = CR_RANGE(chanlist[i]);
unsigned int val;
val = APCI3120_CHANLIST_MUX(chan) |
APCI3120_CHANLIST_GAIN(range) |
APCI3120_CHANLIST_INDEX(i);
if (comedi_range_is_unipolar(s, range))
val |= APCI3120_CHANLIST_UNIPOLAR;
outw(val, dev->iobase + APCI3120_CHANLIST_REG);
}
}
static int apci3120_reset(struct comedi_device *dev)
{
struct apci3120_private *devpriv = dev->private;
......
......@@ -279,6 +279,34 @@ static void apci3120_ai_reset_fifo(struct comedi_device *dev)
inw(dev->iobase + APCI3120_TIMER_MODE_REG);
}
static void apci3120_set_chanlist(struct comedi_device *dev,
struct comedi_subdevice *s,
int n_chan, unsigned int *chanlist)
{
struct apci3120_private *devpriv = dev->private;
int i;
/* set scan length (PR) and scan start (PA) */
devpriv->ctrl = APCI3120_CTRL_PR(n_chan - 1) | APCI3120_CTRL_PA(0);
outw(devpriv->ctrl, dev->iobase + APCI3120_CTRL_REG);
/* set chanlist for scan */
for (i = 0; i < n_chan; i++) {
unsigned int chan = CR_CHAN(chanlist[i]);
unsigned int range = CR_RANGE(chanlist[i]);
unsigned int val;
val = APCI3120_CHANLIST_MUX(chan) |
APCI3120_CHANLIST_GAIN(range) |
APCI3120_CHANLIST_INDEX(i);
if (comedi_range_is_unipolar(s, range))
val |= APCI3120_CHANLIST_UNIPOLAR;
outw(val, dev->iobase + APCI3120_CHANLIST_REG);
}
}
#include "addi-data/hwdrv_apci3120.c"
static int apci3120_ai_eoc(struct comedi_device *dev,
......
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