diff options
author | roy zang <tie-fei.zang@freescale.com> | 2007-01-04 11:10:05 +0800 |
---|---|---|
committer | Zang Tiefei <roy@bus.ap.freescale.net> | 2007-01-04 11:10:05 +0800 |
commit | a41969e09b9d886091a804c2ba5f1ab84b084dd3 (patch) | |
tree | 96d4b03713537e6c0a696e4770c23f9d39792666 /drivers/nand/nand.c | |
parent | d3bb5ec198edad4869ac5276a5899881b7bf5433 (diff) | |
parent | 92eb729bad876725aeea908d2addba0800620840 (diff) |
Merge branch 'master' into hpc2
Diffstat (limited to 'drivers/nand/nand.c')
-rw-r--r-- | drivers/nand/nand.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/nand/nand.c b/drivers/nand/nand.c index 3899045a72..9fef71d629 100644 --- a/drivers/nand/nand.c +++ b/drivers/nand/nand.c @@ -39,7 +39,7 @@ static ulong base_address[CFG_MAX_NAND_DEVICE] = CFG_NAND_BASE_LIST; static const char default_nand_name[] = "nand"; -extern void board_nand_init(struct nand_chip *nand); +extern int board_nand_init(struct nand_chip *nand); static void nand_init_chip(struct mtd_info *mtd, struct nand_chip *nand, ulong base_addr) @@ -47,13 +47,16 @@ static void nand_init_chip(struct mtd_info *mtd, struct nand_chip *nand, mtd->priv = nand; nand->IO_ADDR_R = nand->IO_ADDR_W = (void __iomem *)base_addr; - board_nand_init(nand); - - if (nand_scan(mtd, 1) == 0) { - if (!mtd->name) - mtd->name = (char *)default_nand_name; - } else + if (board_nand_init(nand) == 0) { + if (nand_scan(mtd, 1) == 0) { + if (!mtd->name) + mtd->name = (char *)default_nand_name; + } else + mtd->name = NULL; + } else { mtd->name = NULL; + mtd->size = 0; + } } |