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

Steve Sakoman steve at sakoman.com
Tue Aug 17 00:33:50 CEST 2010


On Mon, 2010-08-16 at 16:36 -0500, Scott Wood wrote:
> On 08/16/2010 04:30 PM, Steve Sakoman wrote:
> > 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?
> 
> I just applied Mike's patch for this a few days ago:
> http://git.denx.de/?p=u-boot/u-boot-nand-flash.git;a=commitdiff;h=962ad59e25640e586e2bceabf67a628a27f8f508

Thanks Scott!  I'll add that patch to my working branch under the
assumption that it will eventually make its way to mainline.

Steve

> -Scott
> 
> >
> > 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);
> >
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot
> >
> 
> 




More information about the U-Boot mailing list