summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/comedi/drivers/poc.c22
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)