Clean up the irq request in the attach of this driver and remove the
dev_{level} noise.

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/amplc_pci230.c | 27 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/drivers/staging/comedi/drivers/amplc_pci230.c 
b/drivers/staging/comedi/drivers/amplc_pci230.c
index e11d7ce..0c738b9 100644
--- a/drivers/staging/comedi/drivers/amplc_pci230.c
+++ b/drivers/staging/comedi/drivers/amplc_pci230.c
@@ -2633,7 +2633,7 @@ static int pci230_attach_common(struct comedi_device *dev,
        struct comedi_subdevice *s;
        unsigned long iobase1, iobase2;
        /* PCI230's I/O spaces 1 and 2 respectively. */
-       int irq_hdl, rc;
+       int rc;
 
        comedi_set_hw_dev(dev, &pci_dev->dev);
 
@@ -2705,16 +2705,12 @@ static int pci230_attach_common(struct comedi_device 
*dev,
        outw(devpriv->adcg, dev->iobase + PCI230_ADCG);
        outw(devpriv->adccon | PCI230_ADC_FIFO_RESET,
             dev->iobase + PCI230_ADCCON);
-       /* Register the interrupt handler. */
-       irq_hdl = request_irq(pci_dev->irq, pci230_interrupt,
-                             IRQF_SHARED, "amplc_pci230", dev);
-       if (irq_hdl < 0) {
-               dev_warn(dev->class_dev,
-                        "unable to register irq %u, commands will not be 
available\n",
-                        pci_dev->irq);
-       } else {
-               dev->irq = pci_dev->irq;
-               dev_dbg(dev->class_dev, "registered irq %u\n", pci_dev->irq);
+
+       if (pci_dev->irq) {
+               rc = request_irq(pci_dev->irq, pci230_interrupt, IRQF_SHARED,
+                                dev->board_name, dev);
+               if (rc == 0)
+                       dev->irq = pci_dev->irq;
        }
 
        rc = comedi_alloc_subdevices(dev, 3);
@@ -2730,14 +2726,14 @@ static int pci230_attach_common(struct comedi_device 
*dev,
        s->range_table = &pci230_ai_range;
        s->insn_read = &pci230_ai_rinsn;
        s->len_chanlist = 256;  /* but there are restrictions. */
-       /* Only register commands if the interrupt handler is installed. */
-       if (irq_hdl == 0) {
+       if (dev->irq) {
                dev->read_subdev = s;
                s->subdev_flags |= SDF_CMD_READ;
                s->do_cmd = &pci230_ai_cmd;
                s->do_cmdtest = &pci230_ai_cmdtest;
                s->cancel = pci230_ai_cancel;
        }
+
        s = &dev->subdevices[1];
        /* analog output subdevice */
        if (thisboard->ao_chans > 0) {
@@ -2749,9 +2745,7 @@ static int pci230_attach_common(struct comedi_device *dev,
                s->insn_write = &pci230_ao_winsn;
                s->insn_read = &pci230_ao_rinsn;
                s->len_chanlist = thisboard->ao_chans;
-               /* Only register commands if the interrupt handler is
-                * installed. */
-               if (irq_hdl == 0) {
+               if (dev->irq) {
                        dev->write_subdev = s;
                        s->subdev_flags |= SDF_CMD_WRITE;
                        s->do_cmd = &pci230_ao_cmd;
@@ -2761,6 +2755,7 @@ static int pci230_attach_common(struct comedi_device *dev,
        } else {
                s->type = COMEDI_SUBD_UNUSED;
        }
+
        s = &dev->subdevices[2];
        /* digital i/o subdevice */
        if (thisboard->have_dio) {
-- 
1.8.4.4

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

Reply via email to