Date:2010-07-30 04:12:16 (13 years 4 months ago)
Author:Maarten ter Huurne
Commit:9c5557e38c87b7a902a4a1532a59cd7ce029510e
Message:MTD: NAND: jz4740: Fix remove function.

Used banks do not have to be consecutive, so if a bank is empty skip it instead of stopping the unmapping.
Free the NAND busy sense GPIO.
Files: drivers/mtd/nand/jz4740_nand.c (2 diffs)

Change Details

drivers/mtd/nand/jz4740_nand.c
565565static int __devexit jz_nand_remove(struct platform_device *pdev)
566566{
567567    struct jz_nand *nand = platform_get_drvdata(pdev);
568    struct jz_nand_platform_data *pdata = pdev->dev.platform_data;
568569    int i;
569570
570571    nand_release(&nand->mtd);
...... 
572573    /* Deassert and disable all chips */
573574    writel(0, nand->base + JZ_REG_NAND_CTRL);
574575
575    i = 0;
576    do {
577        jz_nand_iounmap_resource(nand->bank_mem[i], nand->bank_base[i]);
578        ++i;
579    } while (nand->bank_base[i] != 0 && i < 4);
576    for (i = 0; i < 4; ++i)
577        if (nand->bank_base[i] != 0)
578            jz_nand_iounmap_resource(nand->bank_mem[i],
579                         nand->bank_base[i]);
580    gpio_free(pdata->busy_gpio);
580581
581582    jz_nand_iounmap_resource(nand->mem, nand->base);
582583

Archive Download the corresponding diff file



interactive