[ldv-project] [PATCH] mtd: gpio-addr-flash: add missing iounmap in probe/remove

Ezequiel Garcia ezequiel at vanguardiasur.com.ar
Sat Jul 25 20:44:00 MSK 2015


Hi Alexey,

On 25 July 2015 at 13:49, Alexey Khoroshilov <khoroshilov at ispras.ru> wrote:
> There is no iounmap(state->map.virt) in gpio_flash_remove() and
> in gpio_flash_probe() error handling code.
>

Is there any reason why we can't just use managed variants? E.g.

diff --git a/drivers/mtd/maps/gpio-addr-flash.c
b/drivers/mtd/maps/gpio-addr-flash.c
index 2fb3460..bbaa92b 100644
--- a/drivers/mtd/maps/gpio-addr-flash.c
+++ b/drivers/mtd/maps/gpio-addr-flash.c
@@ -238,7 +238,8 @@ static int gpio_flash_probe(struct platform_device *pdev)
        state->map.copy_to    = gf_copy_to;
        state->map.bankwidth  = pdata->width;
        state->map.size       = state->win_size * (1 << state->gpio_count);
-       state->map.virt       = ioremap_nocache(memory->start, state->map.size);
+       state->map.virt       = devm_ioremap_nocache(&pdev->dev, memory->start,
+                                                    state->map.size);
        state->map.phys       = NO_XIP;
        state->map.map_priv_1 = (unsigned long)state;

Notice the error checks are still needed though, but managed stuff would make
it simpler.

-- 
Ezequiel García, VanguardiaSur
www.vanguardiasur.com.ar



More information about the ldv-project mailing list