staging: comedi: das800: allow attaching without interrupt support

Interrupts are only requires for the analog input async command support.

Allow the driver to attach to the board if the request_irq() fails.

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 2013-04-22 18:35:12 -07:00 committed by Greg Kroah-Hartman
parent 77630119ba
commit f05ffb6e12

View file

@ -737,23 +737,15 @@ static int das800_attach(struct comedi_device *dev, struct comedi_devconfig *it)
}
dev->board_ptr = das800_boards + board;
thisboard = comedi_board(dev);
/* grab our IRQ */
if (irq == 1 || irq > 7) {
dev_err(dev->class_dev, "irq out of range\n");
return -EINVAL;
}
if (irq) {
if (request_irq(irq, das800_interrupt, 0, "das800", dev)) {
dev_err(dev->class_dev, "unable to allocate irq %u\n",
irq);
return -EINVAL;
}
}
dev->irq = irq;
dev->board_name = thisboard->name;
if (irq > 1 && irq <= 7) {
ret = request_irq(irq, das800_interrupt, 0, dev->board_name,
dev);
if (ret == 0)
dev->irq = irq;
}
ret = comedi_alloc_subdevices(dev, 3);
if (ret)
return ret;