[U-Boot] [PATCH - RFC] env_nand.c: fail gracefully if no nand is present

Steve Sakoman steve at sakoman.com
Mon Aug 16 23:30:38 CEST 2010


Rationale:

The upcoming Beagle xM, unlike previous Beagles, has no on-board NAND.

I'd like to continue to have a single version of u-boot that works for
all version of Beagles.  Therefore I need to have env_nand fail
gracefully when it runs on the xM.

The patch below does the job, but I am not sure that my method of
checking for the existence of nand (nand_info[0].type = 0 when no nand
detected) is "correct"?  Any opinions or advice?

Steve

---

diff --git a/common/env_nand.c b/common/env_nand.c
index a15a950..325f112 100644
--- a/common/env_nand.c
+++ b/common/env_nand.c
@@ -268,6 +268,10 @@ int readenv (size_t offset, u_char * buf)
 
 	u_char *char_ptr;
 
+	/* fail if no nand detected */
+	if (nand_info[0].type == 0)
+		return 1;
+
 	blocksize = nand_info[0].erasesize;
 	len = min(blocksize, CONFIG_ENV_SIZE);
 



More information about the U-Boot mailing list