From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Sat, 2 Oct 2010 19:33:59 +0200 Subject: [U-Boot] [PATCH 4/4] OneNAND: Use generic_onenand_read_page in IPL In-Reply-To: <1286040839-3215-1-git-send-email-marek.vasut@gmail.com> References: <1286040839-3215-1-git-send-email-marek.vasut@gmail.com> Message-ID: <1286040839-3215-4-git-send-email-marek.vasut@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de There apparantly is no reason for having "onenand_read_page" abstracted. Besides, it's static data which causes trouble. Signed-off-by: Marek Vasut --- onenand_ipl/onenand_read.c | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) diff --git a/onenand_ipl/onenand_read.c b/onenand_ipl/onenand_read.c index 8d0df81..008d73a 100644 --- a/onenand_ipl/onenand_read.c +++ b/onenand_ipl/onenand_read.c @@ -37,8 +37,6 @@ extern void *memcpy32(void *dest, void *src, int size); #endif -int (*onenand_read_page)(ulong block, ulong page, u_char *buf, int pagesize); - /* read a page with ECC */ static int generic_onenand_read_page(ulong block, ulong page, u_char * buf, int pagesize) @@ -122,8 +120,6 @@ int onenand_read_block(unsigned char *buf) int pagesize, erasesize, erase_shift; int page_is_4KiB = 0; - onenand_read_page = generic_onenand_read_page; - onenand_generic_init(&page_is_4KiB, &page); if (page_is_4KiB) { @@ -139,10 +135,11 @@ int onenand_read_block(unsigned char *buf) /* NOTE: you must read page from page 1 of block 0 */ /* read the block page by page */ + for (block = 0; block < nblocks; block++) { for (; page < ONENAND_PAGES_PER_BLOCK; page++) { - if (onenand_read_page(block, page, buf + offset, - pagesize)) { + if (generic_onenand_read_page(block, page, + buf + offset, pagesize)) { /* This block is bad. Skip it * and read next block */ offset -= page * pagesize; -- 1.7.1