summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/davinci_spi.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/spi/davinci_spi.c b/drivers/spi/davinci_spi.c
index 42314a321d3..f6f63d05814 100644
--- a/drivers/spi/davinci_spi.c
+++ b/drivers/spi/davinci_spi.c
@@ -129,7 +129,6 @@ struct davinci_spi {
u8 version;
resource_size_t pbase;
void __iomem *base;
- size_t region_size;
u32 irq;
struct completion done;
@@ -835,17 +834,15 @@ static int davinci_spi_probe(struct platform_device *pdev)
}
davinci_spi->pbase = r->start;
- davinci_spi->region_size = resource_size(r);
davinci_spi->pdata = pdata;
- mem = request_mem_region(r->start, davinci_spi->region_size,
- pdev->name);
+ mem = request_mem_region(r->start, resource_size(r), pdev->name);
if (mem == NULL) {
ret = -EBUSY;
goto free_master;
}
- davinci_spi->base = ioremap(r->start, davinci_spi->region_size);
+ davinci_spi->base = ioremap(r->start, resource_size(r));
if (davinci_spi->base == NULL) {
ret = -ENOMEM;
goto release_region;
@@ -972,7 +969,7 @@ irq_free:
unmap_io:
iounmap(davinci_spi->base);
release_region:
- release_mem_region(davinci_spi->pbase, davinci_spi->region_size);
+ release_mem_region(davinci_spi->pbase, resource_size(r));
free_master:
kfree(master);
err:
@@ -992,6 +989,7 @@ static int __exit davinci_spi_remove(struct platform_device *pdev)
{
struct davinci_spi *davinci_spi;
struct spi_master *master;
+ struct resource *r;
master = dev_get_drvdata(&pdev->dev);
davinci_spi = spi_master_get_devdata(master);
@@ -1003,7 +1001,8 @@ static int __exit davinci_spi_remove(struct platform_device *pdev)
spi_master_put(master);
free_irq(davinci_spi->irq, davinci_spi);
iounmap(davinci_spi->base);
- release_mem_region(davinci_spi->pbase, davinci_spi->region_size);
+ r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ release_mem_region(davinci_spi->pbase, resource_size(r));
return 0;
}