diff options
author | Shiraz Hashim <shiraz.hashim@st.com> | 2012-01-20 11:35:19 +0100 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-03-27 00:14:36 +0100 |
commit | 495c47d799d93ad688db9db170200eb71525ff45 (patch) | |
tree | bd0e925a755536e9e976959536ae19c4fa5fa161 /drivers | |
parent | f18dbbb1bfe06ea3995b55c2f533057da9e9294a (diff) |
mtd: spear_smi: release memory region during remove
Driver must cleanup all held resources during remove. It wasn't
releasing requested memory region.
Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/devices/spear_smi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/devices/spear_smi.c b/drivers/mtd/devices/spear_smi.c index 1eac56cf8ed..0f0f1ac0649 100644 --- a/drivers/mtd/devices/spear_smi.c +++ b/drivers/mtd/devices/spear_smi.c @@ -1024,6 +1024,7 @@ static int __devexit spear_smi_remove(struct platform_device *pdev) { struct spear_smi *dev; struct spear_snor_flash *flash; + struct resource *smi_base; int ret; int i, irq; @@ -1055,6 +1056,9 @@ static int __devexit spear_smi_remove(struct platform_device *pdev) clk_put(dev->clk); iounmap(dev->io_base); kfree(dev); + + smi_base = platform_get_resource(pdev, IORESOURCE_MEM, 0); + release_mem_region(smi_base->start, resource_size(smi_base)); platform_set_drvdata(pdev, NULL); return 0; |