aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/comedi/drivers/pcl730.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/comedi/drivers/pcl730.c')
-rw-r--r--drivers/staging/comedi/drivers/pcl730.c26
1 files changed, 4 insertions, 22 deletions
diff --git a/drivers/staging/comedi/drivers/pcl730.c b/drivers/staging/comedi/drivers/pcl730.c
index e3de49937452..2879db75da3e 100644
--- a/drivers/staging/comedi/drivers/pcl730.c
+++ b/drivers/staging/comedi/drivers/pcl730.c
@@ -64,21 +64,11 @@ static int pcl730_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{
const struct pcl730_board *board = comedi_board(dev);
struct comedi_subdevice *s;
- unsigned long iobase;
- unsigned int iorange;
int ret;
- iobase = it->options[0];
- iorange = board->io_range;
- printk(KERN_INFO "comedi%d: pcl730: board=%s 0x%04lx ", dev->minor,
- board->name, iobase);
- if (!request_region(iobase, iorange, "pcl730")) {
- printk("I/O port conflict\n");
- return -EIO;
- }
- dev->board_name = board->name;
- dev->iobase = iobase;
- dev->irq = 0;
+ ret = comedi_request_region(dev, it->options[0], board->io_range);
+ if (ret)
+ return ret;
ret = comedi_alloc_subdevices(dev, 4);
if (ret)
@@ -129,14 +119,6 @@ static int pcl730_attach(struct comedi_device *dev, struct comedi_devconfig *it)
return 0;
}
-static void pcl730_detach(struct comedi_device *dev)
-{
- const struct pcl730_board *board = comedi_board(dev);
-
- if (dev->iobase)
- release_region(dev->iobase, board->io_range);
-}
-
static const struct pcl730_board boardtypes[] = {
{ "pcl730", PCL730_SIZE, },
{ "iso730", PCL730_SIZE, },
@@ -147,7 +129,7 @@ static struct comedi_driver pcl730_driver = {
.driver_name = "pcl730",
.module = THIS_MODULE,
.attach = pcl730_attach,
- .detach = pcl730_detach,
+ .detach = comedi_legacy_detach,
.board_name = &boardtypes[0].name,
.num_names = ARRAY_SIZE(boardtypes),
.offset = sizeof(struct pcl730_board),