aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/comedi/drivers/s526.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/comedi/drivers/s526.c')
-rw-r--r--drivers/staging/comedi/drivers/s526.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/drivers/staging/comedi/drivers/s526.c b/drivers/staging/comedi/drivers/s526.c
index 39232b35945..d240ce87bd6 100644
--- a/drivers/staging/comedi/drivers/s526.c
+++ b/drivers/staging/comedi/drivers/s526.c
@@ -552,17 +552,11 @@ static int s526_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{
struct s526_private *devpriv;
struct comedi_subdevice *s;
- int iobase;
int ret;
- dev->board_name = dev->driver->driver_name;
-
- iobase = it->options[0];
- if (!iobase || !request_region(iobase, S526_IOSIZE, dev->board_name)) {
- comedi_error(dev, "I/O port conflict");
- return -EIO;
- }
- dev->iobase = iobase;
+ ret = comedi_request_region(dev, it->options[0], S526_IOSIZE);
+ if (ret)
+ return ret;
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
if (!devpriv)
@@ -616,22 +610,14 @@ static int s526_attach(struct comedi_device *dev, struct comedi_devconfig *it)
s->insn_bits = s526_dio_insn_bits;
s->insn_config = s526_dio_insn_config;
- dev_info(dev->class_dev, "%s attached\n", dev->board_name);
-
return 1;
}
-static void s526_detach(struct comedi_device *dev)
-{
- if (dev->iobase > 0)
- release_region(dev->iobase, S526_IOSIZE);
-}
-
static struct comedi_driver s526_driver = {
.driver_name = "s526",
.module = THIS_MODULE,
.attach = s526_attach,
- .detach = s526_detach,
+ .detach = comedi_legacy_detach,
};
module_comedi_driver(s526_driver);