示例#1
0
static void pcl724_detach(struct comedi_device *dev)
{
	const struct pcl724_board *board = comedi_board(dev);
	int i;

	for (i = 0; i < dev->n_subdevices; i++)
		subdev_8255_cleanup(dev, dev->subdevices + i);
#ifdef PCL724_IRQ
	if (dev->irq)
		free_irq(dev->irq, dev);
#endif
	release_region(dev->iobase, board->io_range);
}
示例#2
0
static void nidio_detach(struct comedi_device *dev)
{
	int i;

	if (this_board && !this_board->is_diodaq) {
		for (i = 0; i < this_board->n_8255; i++)
			subdev_8255_cleanup(dev, dev->subdevices + i);
	}
	if (dev->irq)
		free_irq(dev->irq, dev);
	if (devpriv) {
		if (devpriv->di_mite_ring) {
			mite_free_ring(devpriv->di_mite_ring);
			devpriv->di_mite_ring = NULL;
		}
		if (devpriv->mite)
			mite_unsetup(devpriv->mite);
	}
}