]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/mtd/nand/davinci_nand.c
mtd: nand: Allow caller to pass alternative ID table to nand_scan_ident()
[net-next-2.6.git] / drivers / mtd / nand / davinci_nand.c
index f13f5b9afaf744f0ef6e234bf45115c01a83b219..45bb931c08484bfa4a606e6513a5187d6d2728af 100644 (file)
@@ -566,8 +566,8 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
                goto err_nomem;
        }
 
-       vaddr = ioremap(res1->start, res1->end - res1->start);
-       base = ioremap(res2->start, res2->end - res2->start);
+       vaddr = ioremap(res1->start, resource_size(res1));
+       base = ioremap(res2->start, resource_size(res2));
        if (!vaddr || !base) {
                dev_err(&pdev->dev, "ioremap failed\n");
                ret = -EINVAL;
@@ -591,6 +591,8 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
 
        /* options such as NAND_USE_FLASH_BBT or 16-bit widths */
        info->chip.options      = pdata->options;
+       info->chip.bbt_td       = pdata->bbt_td;
+       info->chip.bbt_md       = pdata->bbt_md;
 
        info->ioaddr            = (uint32_t __force) vaddr;
 
@@ -599,7 +601,7 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
        info->mask_chipsel      = pdata->mask_chipsel;
 
        /* use nandboot-capable ALE/CLE masks by default */
-       info->mask_ale          = pdata->mask_cle ? : MASK_ALE;
+       info->mask_ale          = pdata->mask_ale ? : MASK_ALE;
        info->mask_cle          = pdata->mask_cle ? : MASK_CLE;
 
        /* Set address of hardware control function */
@@ -688,7 +690,7 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
        spin_unlock_irq(&davinci_nand_lock);
 
        /* Scan to find existence of the device(s) */
-       ret = nand_scan_ident(&info->mtd, pdata->mask_chipsel ? 2 : 1);
+       ret = nand_scan_ident(&info->mtd, pdata->mask_chipsel ? 2 : 1, NULL);
        if (ret < 0) {
                dev_dbg(&pdev->dev, "no NAND chip(s) found\n");
                goto err_scan;