staging: comedi: aio_iiro_16: introduce aio_iiro_enable_irq()

This board supports interrupts on change of state of the digital inputs.

Introduce a helper function to enable/disable the interrupt. Use the new
helper function to ensure that interrupts are initially disabled during
the driver (*attach).

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
H Hartley Sweeten 2015-01-07 17:19:31 -07:00 committed by Greg Kroah-Hartman
parent 21f1801fcb
commit ffe1cb9a3e
1 changed files with 10 additions and 0 deletions

View File

@ -34,6 +34,14 @@
#define AIO_IIRO_16_RELAY_8_15 0x04
#define AIO_IIRO_16_INPUT_8_15 0x05
static void aio_iiro_enable_irq(struct comedi_device *dev, bool enable)
{
if (enable)
inb(dev->iobase + AIO_IIRO_16_IRQ);
else
outb(0, dev->iobase + AIO_IIRO_16_IRQ);
}
static int aio_iiro_16_do_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
@ -72,6 +80,8 @@ static int aio_iiro_16_attach(struct comedi_device *dev,
if (ret)
return ret;
aio_iiro_enable_irq(dev, false);
ret = comedi_alloc_subdevices(dev, 2);
if (ret)
return ret;