diff options
-rw-r--r-- | drivers/staging/comedi/drivers/poc.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/drivers/staging/comedi/drivers/poc.c b/drivers/staging/comedi/drivers/poc.c index 8a34f6f631f..e80674e7db9 100644 --- a/drivers/staging/comedi/drivers/poc.c +++ b/drivers/staging/comedi/drivers/poc.c @@ -139,27 +139,11 @@ static int poc_attach(struct comedi_device *dev, struct comedi_devconfig *it) const struct boarddef_struct *board = comedi_board(dev); struct poc_private *devpriv; struct comedi_subdevice *s; - unsigned long iobase; - unsigned int iosize; int ret; - iobase = it->options[0]; - printk(KERN_INFO "comedi%d: poc: using %s iobase 0x%lx\n", dev->minor, - board->name, iobase); - - if (iobase == 0) { - printk(KERN_ERR "io base address required\n"); - return -EINVAL; - } - - iosize = board->iosize; - /* check if io addresses are available */ - if (!request_region(iobase, iosize, dev->board_name)) { - printk(KERN_ERR "I/O port conflict: failed to allocate ports " - "0x%lx to 0x%lx\n", iobase, iobase + iosize - 1); - return -EIO; - } - dev->iobase = iobase; + ret = comedi_request_region(dev, it->options[0], board->iosize); + if (ret) + return ret; ret = comedi_alloc_subdevices(dev, 1); if (ret) |