[U-Boot] [POWERPC] TQM8272: Fix compiling error for the TQM8272 board.
Heiko Schocher
hs at denx.de
Wed Aug 27 13:08:14 CEST 2008
Hello,
[POWERPC] TQM8272: Fix compiling error for the TQM8272 board.
tqm8272.c: In function 'upmnand_hwcontrol':
tqm8272.c:1086: warning: implicit declaration of function 'writeb'
tqm8272.c: In function 'board_nand_init':
tqm8272.c:1193: error: 'struct nand_chip' has no member named 'write_byte'
make[1]: *** [tqm8272.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [board/tqc/tqm8272/libtqm8272.a] Error 2
introduced from commit:
Update MTD to that of Linux 2.6.22.1
author William Juul <william.juul at datarespons.no>
Wed, 31 Oct 2007 12:53:06 +0000 (13:53 +0100)
committer Scott Wood <scottwood at freescale.com>
Tue, 12 Aug 2008 16:31:15 +0000 (11:31 -0500)
commit cfa460adfdefcc30d104e1a9ee44994ee349bb7b
Couldnt try this patch, because I have no longer the Hardware :-(
Signed-off-by: Heiko Schocher <hs at denx.de>
---
board/tqc/tqm8272/tqm8272.c | 35 ++++++++++-------------------------
1 files changed, 10 insertions(+), 25 deletions(-)
diff --git a/board/tqc/tqm8272/tqm8272.c b/board/tqc/tqm8272/tqm8272.c
index a0ec254..8b95143 100644
--- a/board/tqc/tqm8272/tqm8272.c
+++ b/board/tqc/tqm8272/tqm8272.c
@@ -1066,38 +1066,24 @@ int update_flash_size (int flash_size)
#include <nand.h>
#include <linux/mtd/mtd.h>
-static u8 hwctl = 0;
-
static void upmnand_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
{
struct nand_chip *this = mtd->priv;
+ ulong base = (ulong) (this->IO_ADDR_W + chipsel * CFG_NAND_CS_DIST);
+ unsigned char byte = (unsigned char) cmd;
if (ctrl & NAND_CTRL_CHANGE) {
- if ( ctrl & NAND_CLE )
- hwctl |= 0x1;
- else
- hwctl &= ~0x1;
- if ( ctrl & NAND_ALE )
- hwctl |= 0x2;
- else
- hwctl &= ~0x2;
+ if ( ctrl & NAND_CLE ) {
+ WRITE_NAND_UPM(byte, base, CFG_NAND_UPM_WRITE_CMD_OFS);
+ return ;
+ } else
+ if ( ctrl & NAND_ALE ) {
+ WRITE_NAND_UPM(byte, base, CFG_NAND_UPM_WRITE_ADDR_OFS);
+ return ;
+ }
}
if (cmd != NAND_CMD_NONE)
- writeb(cmd, this->IO_ADDR_W);
-}
-
-static void upmnand_write_byte(struct mtd_info *mtdinfo, u_char byte)
-{
- struct nand_chip *this = mtdinfo->priv;
- ulong base = (ulong) (this->IO_ADDR_W + chipsel * CFG_NAND_CS_DIST);
-
- if (hwctl & 0x1) {
- WRITE_NAND_UPM(byte, base, CFG_NAND_UPM_WRITE_CMD_OFS);
- } else if (hwctl & 0x2) {
- WRITE_NAND_UPM(byte, base, CFG_NAND_UPM_WRITE_ADDR_OFS);
- } else {
WRITE_NAND(byte, base);
- }
}
static u_char upmnand_read_byte(struct mtd_info *mtdinfo)
@@ -1190,7 +1176,6 @@ int board_nand_init(struct nand_chip *nand)
nand->cmd_ctrl = upmnand_hwcontrol;
nand->read_byte = upmnand_read_byte;
- nand->write_byte = upmnand_write_byte;
nand->dev_ready = tqm8272_dev_ready;
#ifndef CONFIG_NAND_SPL
--
1.5.6.1
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list