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

staging: comedi: adl_pci9111: change pci9111_fifo_reset into a function

This macro relies on a local variable having a specific name.
It's used multiple places so change it into a function.
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 20614d96
......@@ -129,20 +129,6 @@ a multiple of chanlist_len*convert_arg.
#define PCI9111_FIFO_FULL_MASK 0x40
#define PCI9111_AD_BUSY_MASK 0x80
/*
* Define inlined function
*/
#define pci9111_fifo_reset() do { \
outb(PCI9111_FFEN_SET_FIFO_ENABLE, \
dev->iobase + PCI9111_INT_CTRL_REG); \
outb(PCI9111_FFEN_SET_FIFO_DISABLE, \
dev->iobase + PCI9111_INT_CTRL_REG); \
outb(PCI9111_FFEN_SET_FIFO_ENABLE, \
dev->iobase + PCI9111_INT_CTRL_REG); \
} while (0)
static const struct comedi_lrange pci9111_hr_ai_range = {
5,
{
......@@ -335,6 +321,16 @@ static void pci9111_interrupt_source_set(struct comedi_device *dev,
outb(flags, dev->iobase + PCI9111_INT_CTRL_REG);
}
static void pci9111_fifo_reset(struct comedi_device *dev)
{
unsigned long int_ctrl_reg = dev->iobase + PCI9111_INT_CTRL_REG;
/* To reset the FIFO, set FFEN sequence as 0 -> 1 -> 0 */
outb(PCI9111_FFEN_SET_FIFO_ENABLE, int_ctrl_reg);
outb(PCI9111_FFEN_SET_FIFO_DISABLE, int_ctrl_reg);
outb(PCI9111_FFEN_SET_FIFO_ENABLE, int_ctrl_reg);
}
/* ------------------------------------------------------------------ */
/* HARDWARE TRIGGERED ANALOG INPUT SECTION */
/* ------------------------------------------------------------------ */
......@@ -355,7 +351,7 @@ static int pci9111_ai_cancel(struct comedi_device *dev,
pci9111_autoscan_set(dev, false);
pci9111_fifo_reset();
pci9111_fifo_reset(dev);
return 0;
}
......@@ -616,7 +612,7 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev,
pci9111_trigger_source_set(dev, software);
pci9111_timer_set(dev);
pci9111_fifo_reset();
pci9111_fifo_reset(dev);
pci9111_interrupt_source_set(dev, irq_on_fifo_half_full,
irq_on_timer_tick);
pci9111_trigger_source_set(dev, timer_pacer);
......@@ -635,7 +631,7 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev,
case TRIG_EXT:
pci9111_trigger_source_set(dev, external);
pci9111_fifo_reset();
pci9111_fifo_reset(dev);
pci9111_interrupt_source_set(dev, irq_on_fifo_half_full,
irq_on_timer_tick);
plx9050_interrupt_control(dev_private->lcr_io_base, true, true,
......@@ -843,7 +839,7 @@ static int pci9111_ai_insn_read(struct comedi_device *dev,
dev->iobase + PCI9111_AI_RANGE_REG);
}
pci9111_fifo_reset();
pci9111_fifo_reset(dev);
for (i = 0; i < insn->n; i++) {
/* Generate a software trigger */
......@@ -860,7 +856,7 @@ static int pci9111_ai_insn_read(struct comedi_device *dev,
comedi_error(dev, "A/D read timeout");
data[i] = 0;
pci9111_fifo_reset();
pci9111_fifo_reset(dev);
return -ETIME;
conversion_done:
......
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