diff options
Diffstat (limited to 'drivers/staging/comedi/drivers/pcl711.c')
-rw-r--r-- | drivers/staging/comedi/drivers/pcl711.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/drivers/staging/comedi/drivers/pcl711.c b/drivers/staging/comedi/drivers/pcl711.c index 6ee5da24a961..8be2a4c503cc 100644 --- a/drivers/staging/comedi/drivers/pcl711.c +++ b/drivers/staging/comedi/drivers/pcl711.c @@ -451,23 +451,12 @@ static int pcl711_attach(struct comedi_device *dev, struct comedi_devconfig *it) const struct pcl711_board *board = comedi_board(dev); struct pcl711_private *devpriv; int ret; - unsigned long iobase; unsigned int irq; struct comedi_subdevice *s; - /* claim our I/O space */ - - iobase = it->options[0]; - printk(KERN_INFO "comedi%d: pcl711: 0x%04lx ", dev->minor, iobase); - if (!request_region(iobase, PCL711_SIZE, "pcl711")) { - printk("I/O port conflict\n"); - return -EIO; - } - dev->iobase = iobase; - - /* there should be a sanity check here */ - - dev->board_name = board->name; + ret = comedi_request_region(dev, it->options[0], PCL711_SIZE); + if (ret) + return ret; /* grab our IRQ */ irq = it->options[1]; @@ -476,7 +465,8 @@ static int pcl711_attach(struct comedi_device *dev, struct comedi_devconfig *it) return -EINVAL; } if (irq) { - if (request_irq(irq, pcl711_interrupt, 0, "pcl711", dev)) { + if (request_irq(irq, pcl711_interrupt, 0, dev->board_name, + dev)) { printk(KERN_ERR "unable to allocate irq %u\n", irq); return -EINVAL; } else { @@ -560,14 +550,6 @@ static int pcl711_attach(struct comedi_device *dev, struct comedi_devconfig *it) return 0; } -static void pcl711_detach(struct comedi_device *dev) -{ - if (dev->irq) - free_irq(dev->irq, dev); - if (dev->iobase) - release_region(dev->iobase, PCL711_SIZE); -} - static const struct pcl711_board boardtypes[] = { { "pcl711", 0, 0, 0, 5, 8, 1, 0, &range_bipolar5 }, { "pcl711b", 1, 0, 0, 5, 8, 1, 7, &range_pcl711b_ai }, @@ -579,7 +561,7 @@ static struct comedi_driver pcl711_driver = { .driver_name = "pcl711", .module = THIS_MODULE, .attach = pcl711_attach, - .detach = pcl711_detach, + .detach = comedi_legacy_detach, .board_name = &boardtypes[0].name, .num_names = ARRAY_SIZE(boardtypes), .offset = sizeof(struct pcl711_board), |