aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mtd/nand/nand_base.c106
-rw-r--r--include/linux/mtd/nand.h22
2 files changed, 64 insertions, 64 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 6ef1893996ce..afa77d1ed900 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -118,7 +118,7 @@ static struct nand_oobinfo nand_oob_64 = {
118}; 118};
119 119
120/* This is used for padding purposes in nand_write_oob */ 120/* This is used for padding purposes in nand_write_oob */
121static u_char ffchars[] = { 121static uint8_t ffchars[] = {
122 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 122 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
123 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 123 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
124 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 124 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
@@ -132,39 +132,39 @@ static u_char ffchars[] = {
132/* 132/*
133 * NAND low-level MTD interface functions 133 * NAND low-level MTD interface functions
134 */ 134 */
135static void nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len); 135static void nand_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len);
136static void nand_read_buf(struct mtd_info *mtd, u_char *buf, int len); 136static void nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len);
137static int nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int len); 137static int nand_verify_buf(struct mtd_info *mtd, const uint8_t *buf, int len);
138 138
139static int nand_read(struct mtd_info *mtd, loff_t from, size_t len, 139static int nand_read(struct mtd_info *mtd, loff_t from, size_t len,
140 size_t *retlen, u_char *buf); 140 size_t *retlen, uint8_t *buf);
141static int nand_read_ecc(struct mtd_info *mtd, loff_t from, size_t len, 141static int nand_read_ecc(struct mtd_info *mtd, loff_t from, size_t len,
142 size_t *retlen, u_char *buf, u_char *eccbuf, 142 size_t *retlen, uint8_t *buf, uint8_t *eccbuf,
143 struct nand_oobinfo *oobsel); 143 struct nand_oobinfo *oobsel);
144static int nand_read_oob(struct mtd_info *mtd, loff_t from, size_t len, 144static int nand_read_oob(struct mtd_info *mtd, loff_t from, size_t len,
145 size_t *retlen, u_char *buf); 145 size_t *retlen, uint8_t *buf);
146static int nand_write(struct mtd_info *mtd, loff_t to, size_t len, 146static int nand_write(struct mtd_info *mtd, loff_t to, size_t len,
147 size_t *retlen, const u_char *buf); 147 size_t *retlen, const uint8_t *buf);
148static int nand_write_ecc(struct mtd_info *mtd, loff_t to, size_t len, 148static int nand_write_ecc(struct mtd_info *mtd, loff_t to, size_t len,
149 size_t *retlen, const u_char *buf, u_char *eccbuf, 149 size_t *retlen, const uint8_t *buf, uint8_t *eccbuf,
150 struct nand_oobinfo *oobsel); 150 struct nand_oobinfo *oobsel);
151static int nand_write_oob(struct mtd_info *mtd, loff_t to, size_t len, 151static int nand_write_oob(struct mtd_info *mtd, loff_t to, size_t len,
152 size_t *retlen, const u_char *buf); 152 size_t *retlen, const uint8_t *buf);
153static int nand_writev(struct mtd_info *mtd, const struct kvec *vecs, 153static int nand_writev(struct mtd_info *mtd, const struct kvec *vecs,
154 unsigned long count, loff_t to, size_t *retlen); 154 unsigned long count, loff_t to, size_t *retlen);
155static int nand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs, 155static int nand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs,
156 unsigned long count, loff_t to, size_t *retlen, 156 unsigned long count, loff_t to, size_t *retlen,
157 u_char *eccbuf, struct nand_oobinfo *oobsel); 157 uint8_t *eccbuf, struct nand_oobinfo *oobsel);
158static int nand_erase(struct mtd_info *mtd, struct erase_info *instr); 158static int nand_erase(struct mtd_info *mtd, struct erase_info *instr);
159static void nand_sync(struct mtd_info *mtd); 159static void nand_sync(struct mtd_info *mtd);
160 160
161/* Some internal functions */ 161/* Some internal functions */
162static int nand_write_page(struct mtd_info *mtd, struct nand_chip *this, 162static int nand_write_page(struct mtd_info *mtd, struct nand_chip *this,
163 int page, u_char * oob_buf, 163 int page, uint8_t * oob_buf,
164 struct nand_oobinfo *oobsel, int mode); 164 struct nand_oobinfo *oobsel, int mode);
165#ifdef CONFIG_MTD_NAND_VERIFY_WRITE 165#ifdef CONFIG_MTD_NAND_VERIFY_WRITE
166static int nand_verify_pages(struct mtd_info *mtd, struct nand_chip *this, 166static int nand_verify_pages(struct mtd_info *mtd, struct nand_chip *this,
167 int page, int numpages, u_char *oob_buf, 167 int page, int numpages, uint8_t *oob_buf,
168 struct nand_oobinfo *oobsel, int chipnr, 168 struct nand_oobinfo *oobsel, int chipnr,
169 int oobmode); 169 int oobmode);
170#else 170#else
@@ -201,7 +201,7 @@ static void nand_release_device(struct mtd_info *mtd)
201 * 201 *
202 * Default read function for 8bit buswith 202 * Default read function for 8bit buswith
203 */ 203 */
204static u_char nand_read_byte(struct mtd_info *mtd) 204static uint8_t nand_read_byte(struct mtd_info *mtd)
205{ 205{
206 struct nand_chip *this = mtd->priv; 206 struct nand_chip *this = mtd->priv;
207 return readb(this->IO_ADDR_R); 207 return readb(this->IO_ADDR_R);
@@ -214,7 +214,7 @@ static u_char nand_read_byte(struct mtd_info *mtd)
214 * 214 *
215 * Default write function for 8it buswith 215 * Default write function for 8it buswith
216 */ 216 */
217static void nand_write_byte(struct mtd_info *mtd, u_char byte) 217static void nand_write_byte(struct mtd_info *mtd, uint8_t byte)
218{ 218{
219 struct nand_chip *this = mtd->priv; 219 struct nand_chip *this = mtd->priv;
220 writeb(byte, this->IO_ADDR_W); 220 writeb(byte, this->IO_ADDR_W);
@@ -227,10 +227,10 @@ static void nand_write_byte(struct mtd_info *mtd, u_char byte)
227 * Default read function for 16bit buswith with 227 * Default read function for 16bit buswith with
228 * endianess conversion 228 * endianess conversion
229 */ 229 */
230static u_char nand_read_byte16(struct mtd_info *mtd) 230static uint8_t nand_read_byte16(struct mtd_info *mtd)
231{ 231{
232 struct nand_chip *this = mtd->priv; 232 struct nand_chip *this = mtd->priv;
233 return (u_char) cpu_to_le16(readw(this->IO_ADDR_R)); 233 return (uint8_t) cpu_to_le16(readw(this->IO_ADDR_R));
234} 234}
235 235
236/** 236/**
@@ -241,7 +241,7 @@ static u_char nand_read_byte16(struct mtd_info *mtd)
241 * Default write function for 16bit buswith with 241 * Default write function for 16bit buswith with
242 * endianess conversion 242 * endianess conversion
243 */ 243 */
244static void nand_write_byte16(struct mtd_info *mtd, u_char byte) 244static void nand_write_byte16(struct mtd_info *mtd, uint8_t byte)
245{ 245{
246 struct nand_chip *this = mtd->priv; 246 struct nand_chip *this = mtd->priv;
247 writew(le16_to_cpu((u16) byte), this->IO_ADDR_W); 247 writew(le16_to_cpu((u16) byte), this->IO_ADDR_W);
@@ -305,7 +305,7 @@ static void nand_select_chip(struct mtd_info *mtd, int chip)
305 * 305 *
306 * Default write function for 8bit buswith 306 * Default write function for 8bit buswith
307 */ 307 */
308static void nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len) 308static void nand_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
309{ 309{
310 int i; 310 int i;
311 struct nand_chip *this = mtd->priv; 311 struct nand_chip *this = mtd->priv;
@@ -322,7 +322,7 @@ static void nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
322 * 322 *
323 * Default read function for 8bit buswith 323 * Default read function for 8bit buswith
324 */ 324 */
325static void nand_read_buf(struct mtd_info *mtd, u_char *buf, int len) 325static void nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
326{ 326{
327 int i; 327 int i;
328 struct nand_chip *this = mtd->priv; 328 struct nand_chip *this = mtd->priv;
@@ -339,7 +339,7 @@ static void nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
339 * 339 *
340 * Default verify function for 8bit buswith 340 * Default verify function for 8bit buswith
341 */ 341 */
342static int nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int len) 342static int nand_verify_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
343{ 343{
344 int i; 344 int i;
345 struct nand_chip *this = mtd->priv; 345 struct nand_chip *this = mtd->priv;
@@ -359,7 +359,7 @@ static int nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
359 * 359 *
360 * Default write function for 16bit buswith 360 * Default write function for 16bit buswith
361 */ 361 */
362static void nand_write_buf16(struct mtd_info *mtd, const u_char *buf, int len) 362static void nand_write_buf16(struct mtd_info *mtd, const uint8_t *buf, int len)
363{ 363{
364 int i; 364 int i;
365 struct nand_chip *this = mtd->priv; 365 struct nand_chip *this = mtd->priv;
@@ -379,7 +379,7 @@ static void nand_write_buf16(struct mtd_info *mtd, const u_char *buf, int len)
379 * 379 *
380 * Default read function for 16bit buswith 380 * Default read function for 16bit buswith
381 */ 381 */
382static void nand_read_buf16(struct mtd_info *mtd, u_char *buf, int len) 382static void nand_read_buf16(struct mtd_info *mtd, uint8_t *buf, int len)
383{ 383{
384 int i; 384 int i;
385 struct nand_chip *this = mtd->priv; 385 struct nand_chip *this = mtd->priv;
@@ -398,7 +398,7 @@ static void nand_read_buf16(struct mtd_info *mtd, u_char *buf, int len)
398 * 398 *
399 * Default verify function for 16bit buswith 399 * Default verify function for 16bit buswith
400 */ 400 */
401static int nand_verify_buf16(struct mtd_info *mtd, const u_char *buf, int len) 401static int nand_verify_buf16(struct mtd_info *mtd, const uint8_t *buf, int len)
402{ 402{
403 int i; 403 int i;
404 struct nand_chip *this = mtd->priv; 404 struct nand_chip *this = mtd->priv;
@@ -472,7 +472,7 @@ static int nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip)
472static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs) 472static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs)
473{ 473{
474 struct nand_chip *this = mtd->priv; 474 struct nand_chip *this = mtd->priv;
475 u_char buf[2] = { 0, 0 }; 475 uint8_t buf[2] = { 0, 0 };
476 size_t retlen; 476 size_t retlen;
477 int block; 477 int block;
478 478
@@ -600,11 +600,11 @@ static void nand_command(struct mtd_info *mtd, unsigned command, int column,
600 this->write_byte(mtd, column); 600 this->write_byte(mtd, column);
601 } 601 }
602 if (page_addr != -1) { 602 if (page_addr != -1) {
603 this->write_byte(mtd, (unsigned char)(page_addr & 0xff)); 603 this->write_byte(mtd, (uint8_t)(page_addr & 0xff));
604 this->write_byte(mtd, (unsigned char)((page_addr >> 8) & 0xff)); 604 this->write_byte(mtd, (uint8_t)((page_addr >> 8) & 0xff));
605 /* One more address cycle for devices > 32MiB */ 605 /* One more address cycle for devices > 32MiB */
606 if (this->chipsize > (32 << 20)) 606 if (this->chipsize > (32 << 20))
607 this->write_byte(mtd, (unsigned char)((page_addr >> 16) & 0x0f)); 607 this->write_byte(mtd, (uint8_t)((page_addr >> 16) & 0x0f));
608 } 608 }
609 /* Latch in address */ 609 /* Latch in address */
610 this->hwcontrol(mtd, NAND_CTL_CLRALE); 610 this->hwcontrol(mtd, NAND_CTL_CLRALE);
@@ -692,11 +692,11 @@ static void nand_command_lp(struct mtd_info *mtd, unsigned command, int column,
692 this->write_byte(mtd, column >> 8); 692 this->write_byte(mtd, column >> 8);
693 } 693 }
694 if (page_addr != -1) { 694 if (page_addr != -1) {
695 this->write_byte(mtd, (unsigned char)(page_addr & 0xff)); 695 this->write_byte(mtd, (uint8_t)(page_addr & 0xff));
696 this->write_byte(mtd, (unsigned char)((page_addr >> 8) & 0xff)); 696 this->write_byte(mtd, (uint8_t)((page_addr >> 8) & 0xff));
697 /* One more address cycle for devices > 128MiB */ 697 /* One more address cycle for devices > 128MiB */
698 if (this->chipsize > (128 << 20)) 698 if (this->chipsize > (128 << 20))
699 this->write_byte(mtd, (unsigned char)((page_addr >> 16) & 0xff)); 699 this->write_byte(mtd, (uint8_t)((page_addr >> 16) & 0xff));
700 } 700 }
701 /* Latch in address */ 701 /* Latch in address */
702 this->hwcontrol(mtd, NAND_CTL_CLRALE); 702 this->hwcontrol(mtd, NAND_CTL_CLRALE);
@@ -874,10 +874,10 @@ static int nand_wait(struct mtd_info *mtd, struct nand_chip *this, int state)
874 * Cached programming is not supported yet. 874 * Cached programming is not supported yet.
875 */ 875 */
876static int nand_write_page(struct mtd_info *mtd, struct nand_chip *this, int page, 876static int nand_write_page(struct mtd_info *mtd, struct nand_chip *this, int page,
877 u_char *oob_buf, struct nand_oobinfo *oobsel, int cached) 877 uint8_t *oob_buf, struct nand_oobinfo *oobsel, int cached)
878{ 878{
879 int i, status; 879 int i, status;
880 u_char ecc_code[32]; 880 uint8_t ecc_code[32];
881 int eccmode = oobsel->useecc ? this->eccmode : NAND_ECC_NONE; 881 int eccmode = oobsel->useecc ? this->eccmode : NAND_ECC_NONE;
882 int *oob_config = oobsel->eccpos; 882 int *oob_config = oobsel->eccpos;
883 int datidx = 0, eccidx = 0, eccsteps = this->eccsteps; 883 int datidx = 0, eccidx = 0, eccsteps = this->eccsteps;
@@ -978,12 +978,12 @@ static int nand_write_page(struct mtd_info *mtd, struct nand_chip *this, int pag
978 * it early in the page write stage. Better to write no data than invalid data. 978 * it early in the page write stage. Better to write no data than invalid data.
979 */ 979 */
980static int nand_verify_pages(struct mtd_info *mtd, struct nand_chip *this, int page, int numpages, 980static int nand_verify_pages(struct mtd_info *mtd, struct nand_chip *this, int page, int numpages,
981 u_char *oob_buf, struct nand_oobinfo *oobsel, int chipnr, int oobmode) 981 uint8_t *oob_buf, struct nand_oobinfo *oobsel, int chipnr, int oobmode)
982{ 982{
983 int i, j, datidx = 0, oobofs = 0, res = -EIO; 983 int i, j, datidx = 0, oobofs = 0, res = -EIO;
984 int eccsteps = this->eccsteps; 984 int eccsteps = this->eccsteps;
985 int hweccbytes; 985 int hweccbytes;
986 u_char oobdata[64]; 986 uint8_t oobdata[64];
987 987
988 hweccbytes = (this->options & NAND_HWECC_SYNDROME) ? (oobsel->eccbytes / eccsteps) : 0; 988 hweccbytes = (this->options & NAND_HWECC_SYNDROME) ? (oobsel->eccbytes / eccsteps) : 0;
989 989
@@ -1078,7 +1078,7 @@ static int nand_verify_pages(struct mtd_info *mtd, struct nand_chip *this, int p
1078 * This function simply calls nand_do_read_ecc with oob buffer and oobsel = NULL 1078 * This function simply calls nand_do_read_ecc with oob buffer and oobsel = NULL
1079 * and flags = 0xff 1079 * and flags = 0xff
1080 */ 1080 */
1081static int nand_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf) 1081static int nand_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, uint8_t *buf)
1082{ 1082{
1083 return nand_do_read_ecc(mtd, from, len, retlen, buf, NULL, &mtd->oobinfo, 0xff); 1083 return nand_do_read_ecc(mtd, from, len, retlen, buf, NULL, &mtd->oobinfo, 0xff);
1084} 1084}
@@ -1096,7 +1096,7 @@ static int nand_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retl
1096 * This function simply calls nand_do_read_ecc with flags = 0xff 1096 * This function simply calls nand_do_read_ecc with flags = 0xff
1097 */ 1097 */
1098static int nand_read_ecc(struct mtd_info *mtd, loff_t from, size_t len, 1098static int nand_read_ecc(struct mtd_info *mtd, loff_t from, size_t len,
1099 size_t *retlen, u_char *buf, u_char *oob_buf, struct nand_oobinfo *oobsel) 1099 size_t *retlen, uint8_t *buf, uint8_t *oob_buf, struct nand_oobinfo *oobsel)
1100{ 1100{
1101 /* use userspace supplied oobinfo, if zero */ 1101 /* use userspace supplied oobinfo, if zero */
1102 if (oobsel == NULL) 1102 if (oobsel == NULL)
@@ -1121,15 +1121,15 @@ static int nand_read_ecc(struct mtd_info *mtd, loff_t from, size_t len,
1121 * NAND read with ECC 1121 * NAND read with ECC
1122 */ 1122 */
1123int nand_do_read_ecc(struct mtd_info *mtd, loff_t from, size_t len, 1123int nand_do_read_ecc(struct mtd_info *mtd, loff_t from, size_t len,
1124 size_t *retlen, u_char *buf, u_char *oob_buf, struct nand_oobinfo *oobsel, int flags) 1124 size_t *retlen, uint8_t *buf, uint8_t *oob_buf, struct nand_oobinfo *oobsel, int flags)
1125{ 1125{
1126 1126
1127 int i, j, col, realpage, page, end, ecc, chipnr, sndcmd = 1; 1127 int i, j, col, realpage, page, end, ecc, chipnr, sndcmd = 1;
1128 int read = 0, oob = 0, ecc_status = 0, ecc_failed = 0; 1128 int read = 0, oob = 0, ecc_status = 0, ecc_failed = 0;
1129 struct nand_chip *this = mtd->priv; 1129 struct nand_chip *this = mtd->priv;
1130 u_char *data_poi, *oob_data = oob_buf; 1130 uint8_t *data_poi, *oob_data = oob_buf;
1131 u_char ecc_calc[32]; 1131 uint8_t ecc_calc[32];
1132 u_char ecc_code[32]; 1132 uint8_t ecc_code[32];
1133 int eccmode, eccsteps; 1133 int eccmode, eccsteps;
1134 int *oob_config, datidx; 1134 int *oob_config, datidx;
1135 int blockcheck = (1 << (this->phys_erase_shift - this->page_shift)) - 1; 1135 int blockcheck = (1 << (this->phys_erase_shift - this->page_shift)) - 1;
@@ -1383,7 +1383,7 @@ int nand_do_read_ecc(struct mtd_info *mtd, loff_t from, size_t len,
1383 * 1383 *
1384 * NAND read out-of-band data from the spare area 1384 * NAND read out-of-band data from the spare area
1385 */ 1385 */
1386static int nand_read_oob(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf) 1386static int nand_read_oob(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, uint8_t *buf)
1387{ 1387{
1388 int i, col, page, chipnr; 1388 int i, col, page, chipnr;
1389 struct nand_chip *this = mtd->priv; 1389 struct nand_chip *this = mtd->priv;
@@ -1550,7 +1550,7 @@ int nand_read_raw(struct mtd_info *mtd, uint8_t *buf, loff_t from, size_t len, s
1550 * forces the 0xff fill before using the buffer again. 1550 * forces the 0xff fill before using the buffer again.
1551 * 1551 *
1552*/ 1552*/
1553static u_char *nand_prepare_oobbuf(struct mtd_info *mtd, u_char *fsbuf, struct nand_oobinfo *oobsel, 1553static uint8_t *nand_prepare_oobbuf(struct mtd_info *mtd, uint8_t *fsbuf, struct nand_oobinfo *oobsel,
1554 int autoplace, int numpages) 1554 int autoplace, int numpages)
1555{ 1555{
1556 struct nand_chip *this = mtd->priv; 1556 struct nand_chip *this = mtd->priv;
@@ -1599,7 +1599,7 @@ static u_char *nand_prepare_oobbuf(struct mtd_info *mtd, u_char *fsbuf, struct n
1599 * This function simply calls nand_write_ecc with oob buffer and oobsel = NULL 1599 * This function simply calls nand_write_ecc with oob buffer and oobsel = NULL
1600 * 1600 *
1601*/ 1601*/
1602static int nand_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) 1602static int nand_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const uint8_t *buf)
1603{ 1603{
1604 return (nand_write_ecc(mtd, to, len, retlen, buf, NULL, NULL)); 1604 return (nand_write_ecc(mtd, to, len, retlen, buf, NULL, NULL));
1605} 1605}
@@ -1617,13 +1617,13 @@ static int nand_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retle
1617 * NAND write with ECC 1617 * NAND write with ECC
1618 */ 1618 */
1619static int nand_write_ecc(struct mtd_info *mtd, loff_t to, size_t len, 1619static int nand_write_ecc(struct mtd_info *mtd, loff_t to, size_t len,
1620 size_t *retlen, const u_char *buf, u_char *eccbuf, 1620 size_t *retlen, const uint8_t *buf, uint8_t *eccbuf,
1621 struct nand_oobinfo *oobsel) 1621 struct nand_oobinfo *oobsel)
1622{ 1622{
1623 int startpage, page, ret = -EIO, oob = 0, written = 0, chipnr; 1623 int startpage, page, ret = -EIO, oob = 0, written = 0, chipnr;
1624 int autoplace = 0, numpages, totalpages; 1624 int autoplace = 0, numpages, totalpages;
1625 struct nand_chip *this = mtd->priv; 1625 struct nand_chip *this = mtd->priv;
1626 u_char *oobbuf, *bufstart; 1626 uint8_t *oobbuf, *bufstart;
1627 int ppblock = (1 << (this->phys_erase_shift - this->page_shift)); 1627 int ppblock = (1 << (this->phys_erase_shift - this->page_shift));
1628 1628
1629 DEBUG(MTD_DEBUG_LEVEL3, "nand_write_ecc: to = 0x%08x, len = %i\n", (unsigned int)to, (int)len); 1629 DEBUG(MTD_DEBUG_LEVEL3, "nand_write_ecc: to = 0x%08x, len = %i\n", (unsigned int)to, (int)len);
@@ -1680,12 +1680,12 @@ static int nand_write_ecc(struct mtd_info *mtd, loff_t to, size_t len,
1680 /* Calc number of pages we can write in one go */ 1680 /* Calc number of pages we can write in one go */
1681 numpages = min(ppblock - (startpage & (ppblock - 1)), totalpages); 1681 numpages = min(ppblock - (startpage & (ppblock - 1)), totalpages);
1682 oobbuf = nand_prepare_oobbuf(mtd, eccbuf, oobsel, autoplace, numpages); 1682 oobbuf = nand_prepare_oobbuf(mtd, eccbuf, oobsel, autoplace, numpages);
1683 bufstart = (u_char *) buf; 1683 bufstart = (uint8_t *) buf;
1684 1684
1685 /* Loop until all data is written */ 1685 /* Loop until all data is written */
1686 while (written < len) { 1686 while (written < len) {
1687 1687
1688 this->data_poi = (u_char *) &buf[written]; 1688 this->data_poi = (uint8_t *) &buf[written];
1689 /* Write one page. If this is the last page to write 1689 /* Write one page. If this is the last page to write
1690 * or the last page in this block, then use the 1690 * or the last page in this block, then use the
1691 * real pageprogram command, else select cached programming 1691 * real pageprogram command, else select cached programming
@@ -1764,7 +1764,7 @@ static int nand_write_ecc(struct mtd_info *mtd, loff_t to, size_t len,
1764 * 1764 *
1765 * NAND write out-of-band 1765 * NAND write out-of-band
1766 */ 1766 */
1767static int nand_write_oob(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) 1767static int nand_write_oob(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const uint8_t *buf)
1768{ 1768{
1769 int column, page, status, ret = -EIO, chipnr; 1769 int column, page, status, ret = -EIO, chipnr;
1770 struct nand_chip *this = mtd->priv; 1770 struct nand_chip *this = mtd->priv;
@@ -1884,13 +1884,13 @@ static int nand_writev(struct mtd_info *mtd, const struct kvec *vecs, unsigned l
1884 * NAND write with iovec with ecc 1884 * NAND write with iovec with ecc
1885 */ 1885 */
1886static int nand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs, unsigned long count, 1886static int nand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs, unsigned long count,
1887 loff_t to, size_t *retlen, u_char *eccbuf, struct nand_oobinfo *oobsel) 1887 loff_t to, size_t *retlen, uint8_t *eccbuf, struct nand_oobinfo *oobsel)
1888{ 1888{
1889 int i, page, len, total_len, ret = -EIO, written = 0, chipnr; 1889 int i, page, len, total_len, ret = -EIO, written = 0, chipnr;
1890 int oob, numpages, autoplace = 0, startpage; 1890 int oob, numpages, autoplace = 0, startpage;
1891 struct nand_chip *this = mtd->priv; 1891 struct nand_chip *this = mtd->priv;
1892 int ppblock = (1 << (this->phys_erase_shift - this->page_shift)); 1892 int ppblock = (1 << (this->phys_erase_shift - this->page_shift));
1893 u_char *oobbuf, *bufstart; 1893 uint8_t *oobbuf, *bufstart;
1894 1894
1895 /* Preset written len for early exit */ 1895 /* Preset written len for early exit */
1896 *retlen = 0; 1896 *retlen = 0;
@@ -1959,7 +1959,7 @@ static int nand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs, unsign
1959 /* Do not cross block boundaries */ 1959 /* Do not cross block boundaries */
1960 numpages = min(ppblock - (startpage & (ppblock - 1)), numpages); 1960 numpages = min(ppblock - (startpage & (ppblock - 1)), numpages);
1961 oobbuf = nand_prepare_oobbuf(mtd, NULL, oobsel, autoplace, numpages); 1961 oobbuf = nand_prepare_oobbuf(mtd, NULL, oobsel, autoplace, numpages);
1962 bufstart = (u_char *) vecs->iov_base; 1962 bufstart = (uint8_t *) vecs->iov_base;
1963 bufstart += len; 1963 bufstart += len;
1964 this->data_poi = bufstart; 1964 this->data_poi = bufstart;
1965 oob = 0; 1965 oob = 0;
@@ -1990,7 +1990,7 @@ static int nand_writev_ecc(struct mtd_info *mtd, const struct kvec *vecs, unsign
1990 int cnt = 0; 1990 int cnt = 0;
1991 while (cnt < mtd->oobblock) { 1991 while (cnt < mtd->oobblock) {
1992 if (vecs->iov_base != NULL && vecs->iov_len) 1992 if (vecs->iov_base != NULL && vecs->iov_len)
1993 this->data_buf[cnt++] = ((u_char *) vecs->iov_base)[len++]; 1993 this->data_buf[cnt++] = ((uint8_t *) vecs->iov_base)[len++];
1994 /* Check, if we have to switch to the next tuple */ 1994 /* Check, if we have to switch to the next tuple */
1995 if (len >= (int)vecs->iov_len) { 1995 if (len >= (int)vecs->iov_len) {
1996 vecs++; 1996 vecs++;
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 014ceefbec0e..601c5c703a05 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -294,14 +294,14 @@ struct nand_chip {
294 void __iomem *IO_ADDR_R; 294 void __iomem *IO_ADDR_R;
295 void __iomem *IO_ADDR_W; 295 void __iomem *IO_ADDR_W;
296 296
297 u_char (*read_byte)(struct mtd_info *mtd); 297 uint8_t (*read_byte)(struct mtd_info *mtd);
298 void (*write_byte)(struct mtd_info *mtd, u_char byte); 298 void (*write_byte)(struct mtd_info *mtd, uint8_t byte);
299 u16 (*read_word)(struct mtd_info *mtd); 299 u16 (*read_word)(struct mtd_info *mtd);
300 void (*write_word)(struct mtd_info *mtd, u16 word); 300 void (*write_word)(struct mtd_info *mtd, u16 word);
301 301
302 void (*write_buf)(struct mtd_info *mtd, const u_char *buf, int len); 302 void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len);
303 void (*read_buf)(struct mtd_info *mtd, u_char *buf, int len); 303 void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len);
304 int (*verify_buf)(struct mtd_info *mtd, const u_char *buf, int len); 304 int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, int len);
305 void (*select_chip)(struct mtd_info *mtd, int chip); 305 void (*select_chip)(struct mtd_info *mtd, int chip);
306 int (*block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip); 306 int (*block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip);
307 int (*block_markbad)(struct mtd_info *mtd, loff_t ofs); 307 int (*block_markbad)(struct mtd_info *mtd, loff_t ofs);
@@ -309,8 +309,8 @@ struct nand_chip {
309 int (*dev_ready)(struct mtd_info *mtd); 309 int (*dev_ready)(struct mtd_info *mtd);
310 void (*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, int page_addr); 310 void (*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, int page_addr);
311 int (*waitfunc)(struct mtd_info *mtd, struct nand_chip *this, int state); 311 int (*waitfunc)(struct mtd_info *mtd, struct nand_chip *this, int state);
312 int (*calculate_ecc)(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code); 312 int (*calculate_ecc)(struct mtd_info *mtd, const uint8_t *dat, uint8_t *ecc_code);
313 int (*correct_data)(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc); 313 int (*correct_data)(struct mtd_info *mtd, uint8_t *dat, uint8_t *read_ecc, uint8_t *calc_ecc);
314 void (*enable_hwecc)(struct mtd_info *mtd, int mode); 314 void (*enable_hwecc)(struct mtd_info *mtd, int mode);
315 void (*erase_cmd)(struct mtd_info *mtd, int page); 315 void (*erase_cmd)(struct mtd_info *mtd, int page);
316 int (*scan_bbt)(struct mtd_info *mtd); 316 int (*scan_bbt)(struct mtd_info *mtd);
@@ -325,10 +325,10 @@ struct nand_chip {
325 int phys_erase_shift; 325 int phys_erase_shift;
326 int bbt_erase_shift; 326 int bbt_erase_shift;
327 int chip_shift; 327 int chip_shift;
328 u_char *data_buf; 328 uint8_t *data_buf;
329 u_char *oob_buf; 329 uint8_t *oob_buf;
330 int oobdirty; 330 int oobdirty;
331 u_char *data_poi; 331 uint8_t *data_poi;
332 unsigned int options; 332 unsigned int options;
333 int badblockpos; 333 int badblockpos;
334 int numchips; 334 int numchips;
@@ -466,7 +466,7 @@ extern int nand_default_bbt (struct mtd_info *mtd);
466extern int nand_isbad_bbt (struct mtd_info *mtd, loff_t offs, int allowbbt); 466extern int nand_isbad_bbt (struct mtd_info *mtd, loff_t offs, int allowbbt);
467extern int nand_erase_nand (struct mtd_info *mtd, struct erase_info *instr, int allowbbt); 467extern int nand_erase_nand (struct mtd_info *mtd, struct erase_info *instr, int allowbbt);
468extern int nand_do_read_ecc (struct mtd_info *mtd, loff_t from, size_t len, 468extern int nand_do_read_ecc (struct mtd_info *mtd, loff_t from, size_t len,
469 size_t * retlen, u_char * buf, u_char * oob_buf, 469 size_t * retlen, uint8_t * buf, uint8_t * oob_buf,
470 struct nand_oobinfo *oobsel, int flags); 470 struct nand_oobinfo *oobsel, int flags);
471 471
472/* 472/*