Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e608796a authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: das1800: use comedi_legacy_detach()



Use the new comedi_legacy_detach() helper in the (*detach) to release
the first I/O region requested by this driver.

An additional I/O region is requested for some of the boards this driver
supports. The iobase for that region is stored in the private data so
that the (*detach) knows it needs to be released. Remove the extra
cleanup in the (*attach) that releases the first region.

For aesthetics, move the release of the additional region in the
(*detach) so it follows the (*attach) order.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4b3fb0ff
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -1541,11 +1541,8 @@ static int das1800_attach(struct comedi_device *dev,
		unsigned long iobase2 = dev->iobase + IOBASE2;

		ret = __comedi_request_region(dev, iobase2, DAS1800_SIZE);
		if (ret) {
			release_region(dev->iobase, DAS1800_SIZE);
			dev->iobase = 0;
			return -EIO;
		}
		if (ret)
			return ret;
		devpriv->iobase2 = iobase2;
	}

@@ -1671,21 +1668,20 @@ static void das1800_detach(struct comedi_device *dev)
{
	struct das1800_private *devpriv = dev->private;

	if (dev->iobase)
		release_region(dev->iobase, DAS1800_SIZE);
	if (dev->irq)
		free_irq(dev->irq, dev);
	if (devpriv) {
		if (devpriv->iobase2)
			release_region(devpriv->iobase2, DAS1800_SIZE);
		if (devpriv->dma0)
			free_dma(devpriv->dma0);
		if (devpriv->dma1)
			free_dma(devpriv->dma1);
		kfree(devpriv->ai_buf0);
		kfree(devpriv->ai_buf1);
		if (devpriv->iobase2)
			release_region(devpriv->iobase2, DAS1800_SIZE);
	}
	comedi_legacy_detach(dev);
}
};

static struct comedi_driver das1800_driver = {
	.driver_name	= "das1800",