staging: comedi: das800: use comedi_request_region()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Tue, 9 Apr 2013 23:16:18 +0000 (16:16 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Apr 2013 19:47:39 +0000 (12:47 -0700)
Use comedi_request_region() to request the I/O region used by this
driver.

Remove the noise when the board is first attached as well as the
error message when the request_region() fails, comedi_request_reqion()
will output the error message if necessary.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/das800.c

index 14975f8..d56584d 100644 (file)
@@ -437,33 +437,19 @@ static int das800_attach(struct comedi_device *dev, struct comedi_devconfig *it)
        const struct das800_board *thisboard = comedi_board(dev);
        struct das800_private *devpriv;
        struct comedi_subdevice *s;
-       unsigned long iobase = it->options[0];
        unsigned int irq = it->options[1];
        unsigned long irq_flags;
        int board;
        int ret;
 
-       dev_info(dev->class_dev, "das800: io 0x%lx\n", iobase);
-       if (irq)
-               dev_dbg(dev->class_dev, "irq %u\n", irq);
-
        devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
        if (!devpriv)
                return -ENOMEM;
        dev->private = devpriv;
 
-       if (iobase == 0) {
-               dev_err(dev->class_dev,
-                       "io base address required for das800\n");
-               return -EINVAL;
-       }
-
-       /* check if io addresses are available */
-       if (!request_region(iobase, DAS800_SIZE, "das800")) {
-               dev_err(dev->class_dev, "I/O port conflict\n");
-               return -EIO;
-       }
-       dev->iobase = iobase;
+       ret = comedi_request_region(dev, it->options[0], DAS800_SIZE);
+       if (ret)
+               return ret;
 
        board = das800_probe(dev);
        if (board < 0) {