diff options
author | H Hartley Sweeten <hartleys@visionengravers.com> | 2012-09-10 19:03:00 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-09-10 20:08:01 -0700 |
commit | 2959bc21ba38e9b711cd5ebf581272d3d7455444 (patch) | |
tree | bd30921aeb9168be1f12cf9b487b691a4c534ed4 /drivers/staging/comedi/drivers/adl_pci9111.c | |
parent | f123f287e03ed19a2eb6a4fd6a15908f76c9f086 (diff) |
staging: comedi: adl_pci9111: remove pci9111_interrupt_and_fifo_[sg]et macros
These macros rely on a local variable having a specific name.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/comedi/drivers/adl_pci9111.c')
-rw-r--r-- | drivers/staging/comedi/drivers/adl_pci9111.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/drivers/staging/comedi/drivers/adl_pci9111.c b/drivers/staging/comedi/drivers/adl_pci9111.c index 6e93b9e9d6a..e2c327c62b6 100644 --- a/drivers/staging/comedi/drivers/adl_pci9111.c +++ b/drivers/staging/comedi/drivers/adl_pci9111.c @@ -100,9 +100,9 @@ TODO: #define PCI9111_AI_RANGE_REG 0x08 #define PCI9111_RANGE_STATUS_REG 0x08 #define PCI9111_REGISTER_TRIGGER_MODE_CONTROL 0x0A -#define PCI9111_REGISTER_AD_MODE_INTERRUPT_READBACK 0x0A +#define PCI9111_AI_MODE_INT_RB_REG 0x0A #define PCI9111_SOFTWARE_TRIGGER_REG 0x0E -#define PCI9111_REGISTER_INTERRUPT_CONTROL 0x0C +#define PCI9111_INT_CTRL_REG 0x0C #define PCI9111_8254_BASE_REG 0x40 #define PCI9111_INT_CLR_REG 0x48 @@ -134,25 +134,18 @@ TODO: */ #define pci9111_trigger_and_autoscan_get() \ - (inb(dev->iobase + PCI9111_REGISTER_AD_MODE_INTERRUPT_READBACK)&0x0F) + (inb(dev->iobase + PCI9111_AI_MODE_INT_RB_REG)&0x0F) #define pci9111_trigger_and_autoscan_set(flags) \ outb(flags, dev->iobase + PCI9111_REGISTER_TRIGGER_MODE_CONTROL) -#define pci9111_interrupt_and_fifo_get() \ - ((inb(dev->iobase + PCI9111_REGISTER_AD_MODE_INTERRUPT_READBACK) \ - >> 4) & 0x03) - -#define pci9111_interrupt_and_fifo_set(flags) \ - outb(flags, dev->iobase + PCI9111_REGISTER_INTERRUPT_CONTROL) - #define pci9111_fifo_reset() do { \ outb(PCI9111_FFEN_SET_FIFO_ENABLE, \ - dev->iobase + PCI9111_REGISTER_INTERRUPT_CONTROL); \ + dev->iobase + PCI9111_INT_CTRL_REG); \ outb(PCI9111_FFEN_SET_FIFO_DISABLE, \ - dev->iobase + PCI9111_REGISTER_INTERRUPT_CONTROL); \ + dev->iobase + PCI9111_INT_CTRL_REG); \ outb(PCI9111_FFEN_SET_FIFO_ENABLE, \ - dev->iobase + PCI9111_REGISTER_INTERRUPT_CONTROL); \ + dev->iobase + PCI9111_INT_CTRL_REG); \ } while (0) @@ -322,15 +315,21 @@ static void pci9111_interrupt_source_set(struct comedi_device *dev, { int flags; - flags = pci9111_interrupt_and_fifo_get() & 0x04; + /* Read the current interrupt control bits */ + flags = inb(dev->iobase + PCI9111_AI_MODE_INT_RB_REG); + /* Shift the bits so they are compatible with the write register */ + flags >>= 4; + /* Mask off the ISCx bits */ + flags &= 0xc0; + /* Now set the new ISCx bits */ if (irq_0_source == irq_on_fifo_half_full) flags |= PCI9111_ISC0_SET_IRQ_ON_FIFO_HALF_FULL; if (irq_1_source == irq_on_external_trigger) flags |= PCI9111_ISC1_SET_IRQ_ON_EXT_TRG; - pci9111_interrupt_and_fifo_set(flags); + outb(flags, dev->iobase + PCI9111_INT_CTRL_REG); } /* ------------------------------------------------------------------ */ |