[U-Boot] [PATCH] mtdparts: Call nand_init() during mtdparts_init().

Scott Wood scottwood at freescale.com
Fri Oct 15 21:47:40 CEST 2010


On Fri, 15 Oct 2010 21:36:40 +0200
Wolfgang Denk <wd at denx.de> wrote:

> Dear Scott Wood,
> 
> In message <20101015185902.GA7581 at udp111988uds.am.freescale.net> you wrote:
> > The mtdparts code depends on the devices referred to by
> > partition specs actually existing, both for error checking,
> > when the spread feature is used, for bad block checking.
> > 
> > Signed-off-by: Scott Wood <scottwood at freescale.com>
> > ---
> >  common/cmd_mtdparts.c |    5 +----
> >  include/nand.h        |    6 ++++++
> >  2 files changed, 7 insertions(+), 4 deletions(-)
> > 
> > Applied to u-boot-nand-flash
> > 
> > diff --git a/common/cmd_mtdparts.c b/common/cmd_mtdparts.c
> > index 5481c88..8e8ba47 100644
> > --- a/common/cmd_mtdparts.c
> > +++ b/common/cmd_mtdparts.c
> > @@ -96,15 +96,11 @@
> >  #include <linux/err.h>
> >  #include <linux/mtd/mtd.h>
> >  
> > -#if defined(CONFIG_CMD_NAND)
> >  #include <linux/mtd/nand.h>
> >  #include <nand.h>
> > -#endif
> >  
> > -#if defined(CONFIG_CMD_ONENAND)
> >  #include <linux/mtd/onenand.h>
> >  #include <onenand_uboot.h>
> > -#endif
> 
> I don't like this.  We should include this stuff only on systems that
> really need it.

Since when do we ifdef headers?

> >  /* special size referring to all the remaining space in a partition */
> >  #define SIZE_REMAINING		0xFFFFFFFF
> > @@ -1711,6 +1707,7 @@ int mtdparts_init(void)
> >  		memset(last_ids, 0, MTDIDS_MAXLEN);
> >  		memset(last_parts, 0, MTDPARTS_MAXLEN);
> >  		memset(last_partition, 0, PARTITION_MAXLEN);
> > +		nand_init();
> >  		initialized = 1;
> >  	}
> 
> I don't like this either.  I don't want to see a nand_init() for
> systems that have no NAND at all (not even an empty one).

What would you suggest instead?

-Scott



More information about the U-Boot mailing list