diff options
author | Marek Vasut <marex@denx.de> | 2012-03-06 01:10:00 +0100 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-03-26 23:09:26 +0200 |
commit | 44e63c228ea8730af5782d1c29c5bef2e57c9b0e (patch) | |
tree | 7b1b3d1174113527a55348efbb6ce2174fb61059 /board/prodrive | |
parent | 2152df67c351f167641e0000177c0de746be8665 (diff) | |
download | u-boot-imx-44e63c228ea8730af5782d1c29c5bef2e57c9b0e.zip u-boot-imx-44e63c228ea8730af5782d1c29c5bef2e57c9b0e.tar.gz u-boot-imx-44e63c228ea8730af5782d1c29c5bef2e57c9b0e.tar.bz2 |
IXP: Fix NAND build warning on PDNB3 and SCPU
nand.c: In function ‘pdnb3_nand_read_buf’:
nand.c:107:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
nand.c: In function ‘pdnb3_nand_dev_ready’:
nand.c:124:18: warning: variable ‘val’ set but not used [-Wunused-but-set-variable]
Remove the 4-byte-at-time read mode altogether, the most is bogus and will
likely cause unaligned accesses.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Bryan Hundven <bryanhundven@gmail.com>
Cc: Michael Schwingen <rincewind@discworld.dascon.de>
Diffstat (limited to 'board/prodrive')
-rw-r--r-- | board/prodrive/pdnb3/nand.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/board/prodrive/pdnb3/nand.c b/board/prodrive/pdnb3/nand.c index 2efe027..6d1f203 100644 --- a/board/prodrive/pdnb3/nand.c +++ b/board/prodrive/pdnb3/nand.c @@ -96,16 +96,8 @@ static void pdnb3_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len) { int i; - if (len % 4) { - for (i = 0; i < len; i++) - buf[i] = readb(&(pdnb3_ndfc->data)); - } else { - ulong *ptr = (ulong *)buf; - int count = len >> 2; - - for (i = 0; i < count; i++) - *ptr++ = readl(&(pdnb3_ndfc->data)); - } + for (i = 0; i < len; i++) + buf[i] = readb(&(pdnb3_ndfc->data)); } static int pdnb3_nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int len) @@ -121,12 +113,10 @@ static int pdnb3_nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int le static int pdnb3_nand_dev_ready(struct mtd_info *mtd) { - volatile u_char val; - /* * Blocking read to wait for NAND to be ready */ - val = readb(&(pdnb3_ndfc->wait)); + readb(&(pdnb3_ndfc->wait)); /* * Return always true |