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 <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/aio_iiro_16.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/staging/comedi/drivers/aio_iiro_16.c 
b/drivers/staging/comedi/drivers/aio_iiro_16.c
index 8cd5f11..f84fb74 100644
--- a/drivers/staging/comedi/drivers/aio_iiro_16.c
+++ b/drivers/staging/comedi/drivers/aio_iiro_16.c
@@ -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;
-- 
2.0.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to