aboutsummaryrefslogtreecommitdiff
path: root/drivers/nand
diff options
context:
space:
mode:
authorHeiko Schocher2006-12-21 17:17:02 +0100
committerHeiko Schocher2006-12-21 17:17:02 +0100
commitfa23044564091f05d9695beb7b5b9a931e7f41a4 (patch)
treee930a79b3bfdd7352ad2c5129762553ef95ec27e /drivers/nand
parentee58ea2689930669678fdcb27bf0cc5c341e18eb (diff)
Added support for the TQM8272 board from TQ
Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'drivers/nand')
-rw-r--r--drivers/nand/nand.c17
-rw-r--r--drivers/nand/nand_base.c2
2 files changed, 12 insertions, 7 deletions
diff --git a/drivers/nand/nand.c b/drivers/nand/nand.c
index 3899045a72c..9fef71d6293 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;
+ }
}
diff --git a/drivers/nand/nand_base.c b/drivers/nand/nand_base.c
index b7a5d32fb3f..95d6e4ede6a 100644
--- a/drivers/nand/nand_base.c
+++ b/drivers/nand/nand_base.c
@@ -2407,7 +2407,9 @@ int nand_scan (struct mtd_info *mtd, int maxchips)
}
if (!nand_flash_ids[i].name) {
+#if !defined(CONFIG_TQM8272)
printk (KERN_WARNING "No NAND device found!!!\n");
+#endif
this->select_chip(mtd, -1);
return 1;
}