summaryrefslogtreecommitdiff
path: root/drivers/mtd/nand
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2009-05-11 16:03:55 +0200
committerWolfgang Denk <wd@denx.de>2009-06-12 20:45:47 +0200
commit8d2effea23e938631126a7888008a0637e13b389 (patch)
treee33073a1e09b6f5c340163a4581b81304fa3fa67 /drivers/mtd/nand
parent0a57265533c412adf6024f4b4955141f4346b2b9 (diff)
downloadu-boot-imx-8d2effea23e938631126a7888008a0637e13b389.zip
u-boot-imx-8d2effea23e938631126a7888008a0637e13b389.tar.gz
u-boot-imx-8d2effea23e938631126a7888008a0637e13b389.tar.bz2
mtd: Update MTD infrastructure to support 64bit device size
This patch brings the U-Boot MTD infrastructure in sync with the current Linux MTD version (2.6.30-rc3). Biggest change is the 64bit device size support and a resync of the mtdpart.c file which has seen multiple fixes meanwhile. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Scott Wood <scottwood@freescale.com> Cc: Kyungmin Park <kmpark@infradead.org>
Diffstat (limited to 'drivers/mtd/nand')
-rw-r--r--drivers/mtd/nand/nand_util.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/mtd/nand/nand_util.c b/drivers/mtd/nand/nand_util.c
index 6ba52b3..88206d0 100644
--- a/drivers/mtd/nand/nand_util.c
+++ b/drivers/mtd/nand/nand_util.c
@@ -36,12 +36,15 @@
#include <malloc.h>
#include <div64.h>
-
#include <asm/errno.h>
#include <linux/mtd/mtd.h>
#include <nand.h>
#include <jffs2/jffs2.h>
+#if !defined(CONFIG_SYS_64BIT_VSPRINTF)
+#warning Please define CONFIG_SYS_64BIT_VSPRINTF for correct output!
+#endif
+
typedef struct erase_info erase_info_t;
typedef struct mtd_info mtd_info_t;
@@ -127,7 +130,7 @@ int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts)
if (ret > 0) {
if (!opts->quiet)
printf("\rSkipping bad block at "
- "0x%08x "
+ "0x%08llx "
" \n",
erase.addr);
continue;
@@ -181,11 +184,11 @@ int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts)
if (percent != percent_complete) {
percent_complete = percent;
- printf("\rErasing at 0x%x -- %3d%% complete.",
+ printf("\rErasing at 0x%llx -- %3d%% complete.",
erase.addr, percent);
if (opts->jffs2 && result == 0)
- printf(" Cleanmarker written at 0x%x.",
+ printf(" Cleanmarker written at 0x%llx.",
erase.addr);
}
}