aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/comedi/drivers/8255.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/comedi/drivers/8255.c')
-rw-r--r--drivers/staging/comedi/drivers/8255.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/drivers/staging/comedi/drivers/8255.c b/drivers/staging/comedi/drivers/8255.c
index c7aa41ad842f..1d48aa602ece 100644
--- a/drivers/staging/comedi/drivers/8255.c
+++ b/drivers/staging/comedi/drivers/8255.c
@@ -129,7 +129,7 @@ void subdev_8255_interrupt(struct comedi_device *dev,
comedi_event(dev, s);
}
-EXPORT_SYMBOL(subdev_8255_interrupt);
+EXPORT_SYMBOL_GPL(subdev_8255_interrupt);
static int subdev_8255_insn(struct comedi_device *dev,
struct comedi_subdevice *s,
@@ -314,7 +314,7 @@ int subdev_8255_init(struct comedi_device *dev, struct comedi_subdevice *s,
return 0;
}
-EXPORT_SYMBOL(subdev_8255_init);
+EXPORT_SYMBOL_GPL(subdev_8255_init);
int subdev_8255_init_irq(struct comedi_device *dev, struct comedi_subdevice *s,
int (*io) (int, int, int, unsigned long),
@@ -332,13 +332,7 @@ int subdev_8255_init_irq(struct comedi_device *dev, struct comedi_subdevice *s,
return 0;
}
-EXPORT_SYMBOL(subdev_8255_init_irq);
-
-void subdev_8255_cleanup(struct comedi_device *dev, struct comedi_subdevice *s)
-{
- kfree(s->private);
-}
-EXPORT_SYMBOL(subdev_8255_cleanup);
+EXPORT_SYMBOL_GPL(subdev_8255_init_irq);
/*
@@ -354,8 +348,6 @@ static int dev_8255_attach(struct comedi_device *dev,
unsigned long iobase;
int i;
- dev->board_name = "8255";
-
for (i = 0; i < COMEDI_NDEVCONFOPTS; i++) {
iobase = it->options[i];
if (!iobase)
@@ -374,16 +366,13 @@ static int dev_8255_attach(struct comedi_device *dev,
s = &dev->subdevices[i];
iobase = it->options[i];
- if (!request_region(iobase, _8255_SIZE, "8255")) {
- dev_warn(dev->class_dev,
- "0x%04lx (I/O port conflict)\n", iobase);
-
+ ret = __comedi_request_region(dev, iobase, _8255_SIZE);
+ if (ret) {
s->type = COMEDI_SUBD_UNUSED;
} else {
ret = subdev_8255_init(dev, s, NULL, iobase);
if (ret)
return ret;
- dev_info(dev->class_dev, "0x%04lx\n", iobase);
}
}
@@ -402,7 +391,7 @@ static void dev_8255_detach(struct comedi_device *dev)
spriv = s->private;
release_region(spriv->iobase, _8255_SIZE);
}
- subdev_8255_cleanup(dev, s);
+ comedi_spriv_free(dev, i);
}
}