diff options
author | Dan Williams <dan.j.williams@intel.com> | 2009-01-06 13:38:19 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-01-06 13:38:19 -0500 |
commit | f38822033d9eafd8a7b12dd7ad6dea26480ba339 (patch) | |
tree | b8fb09a98b52a1519a038a9623928de59ec58e7f /drivers/dma/iop-adma.c | |
parent | 7dd602510128d7a64b11ff3b7d4f30ac8e3946ce (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.c | 13 |
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); |