aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/iop-adma.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-01-06 13:38:19 -0500
committerDan Williams <dan.j.williams@intel.com>2009-01-06 13:38:19 -0500
commitf38822033d9eafd8a7b12dd7ad6dea26480ba339 (patch)
treeb8fb09a98b52a1519a038a9623928de59ec58e7f /drivers/dma/iop-adma.c
parent7dd602510128d7a64b11ff3b7d4f30ac8e3946ce (diff)
iop-adma: let devm do its job, don't duplicate free
No need to free stuff that the devm infrastructure will take care of... Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma/iop-adma.c')
-rw-r--r--drivers/dma/iop-adma.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c
index df0e37d70b31..0c6bbf5407c4 100644
--- a/drivers/dma/iop-adma.c
+++ b/drivers/dma/iop-adma.c
@@ -1113,26 +1113,13 @@ static int __devexit iop_adma_remove(struct platform_device *dev)
1113 struct iop_adma_device *device = platform_get_drvdata(dev); 1113 struct iop_adma_device *device = platform_get_drvdata(dev);
1114 struct dma_chan *chan, *_chan; 1114 struct dma_chan *chan, *_chan;
1115 struct iop_adma_chan *iop_chan; 1115 struct iop_adma_chan *iop_chan;
1116 int i;
1117 struct iop_adma_platform_data *plat_data = dev->dev.platform_data; 1116 struct iop_adma_platform_data *plat_data = dev->dev.platform_data;
1118 1117
1119 dma_async_device_unregister(&device->common); 1118 dma_async_device_unregister(&device->common);
1120 1119
1121 for (i = 0; i < 3; i++) {
1122 unsigned int irq;
1123 irq = platform_get_irq(dev, i);
1124 free_irq(irq, device);
1125 }
1126
1127 dma_free_coherent(&dev->dev, plat_data->pool_size, 1120 dma_free_coherent(&dev->dev, plat_data->pool_size,
1128 device->dma_desc_pool_virt, device->dma_desc_pool); 1121 device->dma_desc_pool_virt, device->dma_desc_pool);
1129 1122
1130 do {
1131 struct resource *res;
1132 res = platform_get_resource(dev, IORESOURCE_MEM, 0);
1133 release_mem_region(res->start, res->end - res->start);
1134 } while (0);
1135
1136 list_for_each_entry_safe(chan, _chan, &device->common.channels, 1123 list_for_each_entry_safe(chan, _chan, &device->common.channels,
1137 device_node) { 1124 device_node) {
1138 iop_chan = to_iop_adma_chan(chan); 1125 iop_chan = to_iop_adma_chan(chan);