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

staging: comedi: adl_pci9111: remove pci9111_interrupt_clear macro

This macro relies on a local variable having a specific name.
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 3eb60d73
...@@ -104,7 +104,7 @@ a multiple of chanlist_len*convert_arg. ...@@ -104,7 +104,7 @@ a multiple of chanlist_len*convert_arg.
#define PCI9111_SOFTWARE_TRIGGER_REG 0x0E #define PCI9111_SOFTWARE_TRIGGER_REG 0x0E
#define PCI9111_REGISTER_INTERRUPT_CONTROL 0x0C #define PCI9111_REGISTER_INTERRUPT_CONTROL 0x0C
#define PCI9111_8254_BASE_REG 0x40 #define PCI9111_8254_BASE_REG 0x40
#define PCI9111_REGISTER_INTERRUPT_CLEAR 0x48 #define PCI9111_INT_CLR_REG 0x48
#define PCI9111_TRIGGER_MASK 0x0F #define PCI9111_TRIGGER_MASK 0x0F
#define PCI9111_PTRG_OFF (0 << 3) #define PCI9111_PTRG_OFF (0 << 3)
...@@ -146,9 +146,6 @@ a multiple of chanlist_len*convert_arg. ...@@ -146,9 +146,6 @@ a multiple of chanlist_len*convert_arg.
#define pci9111_interrupt_and_fifo_set(flags) \ #define pci9111_interrupt_and_fifo_set(flags) \
outb(flags, dev->iobase + PCI9111_REGISTER_INTERRUPT_CONTROL) outb(flags, dev->iobase + PCI9111_REGISTER_INTERRUPT_CONTROL)
#define pci9111_interrupt_clear() \
outb(0, dev->iobase + PCI9111_REGISTER_INTERRUPT_CLEAR)
#define pci9111_fifo_reset() do { \ #define pci9111_fifo_reset() do { \
outb(PCI9111_FFEN_SET_FIFO_ENABLE, \ outb(PCI9111_FFEN_SET_FIFO_ENABLE, \
dev->iobase + PCI9111_REGISTER_INTERRUPT_CONTROL); \ dev->iobase + PCI9111_REGISTER_INTERRUPT_CONTROL); \
...@@ -722,7 +719,7 @@ static irqreturn_t pci9111_interrupt(int irq, void *p_device) ...@@ -722,7 +719,7 @@ static irqreturn_t pci9111_interrupt(int irq, void *p_device)
if (!(status & PCI9111_FIFO_FULL_MASK)) { if (!(status & PCI9111_FIFO_FULL_MASK)) {
spin_unlock_irqrestore(&dev->spinlock, irq_flags); spin_unlock_irqrestore(&dev->spinlock, irq_flags);
comedi_error(dev, PCI9111_DRIVER_NAME " fifo overflow"); comedi_error(dev, PCI9111_DRIVER_NAME " fifo overflow");
pci9111_interrupt_clear(); outb(0, dev->iobase + PCI9111_INT_CLR_REG);
pci9111_ai_cancel(dev, s); pci9111_ai_cancel(dev, s);
async->events |= COMEDI_CB_ERROR | COMEDI_CB_EOA; async->events |= COMEDI_CB_ERROR | COMEDI_CB_EOA;
comedi_event(dev, s); comedi_event(dev, s);
...@@ -808,10 +805,7 @@ static irqreturn_t pci9111_interrupt(int irq, void *p_device) ...@@ -808,10 +805,7 @@ static irqreturn_t pci9111_interrupt(int irq, void *p_device)
pci9111_ai_cancel(dev, s); pci9111_ai_cancel(dev, s);
} }
/* Very important, otherwise another interrupt request will be inserted outb(0, dev->iobase + PCI9111_INT_CLR_REG);
* and will cause driver hangs on processing interrupt event. */
pci9111_interrupt_clear();
spin_unlock_irqrestore(&dev->spinlock, irq_flags); spin_unlock_irqrestore(&dev->spinlock, irq_flags);
......
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