|
@@ -24,33 +24,33 @@ static __attribute__((unused)) char dev_name[] = "onenand0";
|
|
|
|
|
|
void onenand_init(void)
|
|
|
{
|
|
|
+ int err = 0;
|
|
|
memset(&onenand_mtd, 0, sizeof(struct mtd_info));
|
|
|
memset(&onenand_chip, 0, sizeof(struct onenand_chip));
|
|
|
|
|
|
onenand_mtd.priv = &onenand_chip;
|
|
|
|
|
|
#ifdef CONFIG_USE_ONENAND_BOARD_INIT
|
|
|
- /*
|
|
|
- * It's used for some board init required
|
|
|
- */
|
|
|
- onenand_board_init(&onenand_mtd);
|
|
|
+ /* It's used for some board init required */
|
|
|
+ err = onenand_board_init(&onenand_mtd);
|
|
|
#else
|
|
|
onenand_chip.base = (void *) CONFIG_SYS_ONENAND_BASE;
|
|
|
#endif
|
|
|
|
|
|
- onenand_scan(&onenand_mtd, 1);
|
|
|
+ if (!err && !(onenand_scan(&onenand_mtd, 1))) {
|
|
|
|
|
|
- if (onenand_chip.device_id & DEVICE_IS_FLEXONENAND)
|
|
|
- puts("Flex-");
|
|
|
- puts("OneNAND: ");
|
|
|
- print_size(onenand_chip.chipsize, "\n");
|
|
|
+ if (onenand_chip.device_id & DEVICE_IS_FLEXONENAND)
|
|
|
+ puts("Flex-");
|
|
|
+ puts("OneNAND: ");
|
|
|
|
|
|
#ifdef CONFIG_MTD_DEVICE
|
|
|
- /*
|
|
|
- * Add MTD device so that we can reference it later
|
|
|
- * via the mtdcore infrastructure (e.g. ubi).
|
|
|
- */
|
|
|
- onenand_mtd.name = dev_name;
|
|
|
- add_mtd_device(&onenand_mtd);
|
|
|
+ /*
|
|
|
+ * Add MTD device so that we can reference it later
|
|
|
+ * via the mtdcore infrastructure (e.g. ubi).
|
|
|
+ */
|
|
|
+ onenand_mtd.name = dev_name;
|
|
|
+ add_mtd_device(&onenand_mtd);
|
|
|
#endif
|
|
|
+ }
|
|
|
+ print_size(onenand_chip.chipsize, "\n");
|
|
|
}
|