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

Remove the default iobase address (0x240) that is used when the user
does not pass a base address during the "comedi_config". Comedi
legacy drivers should only attach to a specified address.

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/dt282x.c

index 19f0b99..0661045 100644 (file)
@@ -1123,18 +1123,10 @@ static int dt282x_attach(struct comedi_device *dev, struct comedi_devconfig *it)
        int i, irq;
        int ret;
        struct comedi_subdevice *s;
-       unsigned long iobase;
 
-       iobase = it->options[opt_iobase];
-       if (!iobase)
-               iobase = 0x240;
-
-       printk(KERN_INFO "comedi%d: dt282x: 0x%04lx", dev->minor, iobase);
-       if (!request_region(iobase, DT2821_SIZE, dev->board_name)) {
-               printk(KERN_INFO " I/O port conflict\n");
-               return -EBUSY;
-       }
-       dev->iobase = iobase;
+       ret = comedi_request_region(dev, it->options[0], DT2821_SIZE);
+       if (ret)
+               return ret;
 
        outw(DT2821_BDINIT, dev->iobase + DT2821_SUPCSR);
        i = inw(dev->iobase + DT2821_ADCSR);