Hi Prabhakar,

Thanks for your comments!

> -----Original Message-----
> From: Prabhakar Kushwaha
> Sent: Tuesday, March 07, 2017 11:17 AM
> To: Z.Q. Hou <zhiqiang....@nxp.com>; u-boot@lists.denx.de;
> o...@buserror.net; york sun <york....@nxp.com>;
> mingkai...@freescale.com; s...@chromium.org; Xiaobo Xie
> <xiaobo....@nxp.com>
> Cc: Z.Q. Hou <zhiqiang....@nxp.com>
> Subject: RE: [U-Boot] [PATCH 1/5] mtd: nand: add initialization flag
> 
> 
> > -----Original Message-----
> > From: U-Boot [mailto:u-boot-boun...@lists.denx.de] On Behalf Of
> > Zhiqiang Hou
> > Sent: Friday, March 03, 2017 7:01 PM
> > To: u-boot@lists.denx.de; o...@buserror.net; york sun
> > <york....@nxp.com>; mingkai...@freescale.com; s...@chromium.org;
> Xiaobo
> > Xie <xiaobo....@nxp.com>
> > Cc: Z.Q. Hou <zhiqiang....@nxp.com>
> > Subject: [U-Boot] [PATCH 1/5] mtd: nand: add initialization flag
> >
> > From: Hou Zhiqiang <zhiqiang....@nxp.com>
> >
> > Add initialization flag to avoid initializing NAND Flash multiple
> > times, otherwise it will calculate a wrong total size.
> >
> > Signed-off-by: Hou Zhiqiang <zhiqiang....@nxp.com>
> > ---
> >  drivers/mtd/nand/nand.c | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> >
> > diff --git a/drivers/mtd/nand/nand.c b/drivers/mtd/nand/nand.c index
> > 0551241..3ea2dcf 100644
> > --- a/drivers/mtd/nand/nand.c
> > +++ b/drivers/mtd/nand/nand.c
> > @@ -133,6 +133,16 @@ static void create_mtd_concat(void)
> >
> >  void nand_init(void)
> >  {
> > +   static int initialized;
> > +
> > +   /*
> > +    * Avoid initializing NAND Flash multiple times,
> > +    * otherwise it will calculate a wrong total size.
> > +    */
> > +   if (initialized)
> > +           return;
> > +   initialized = 1;
> > +
> >  #ifdef CONFIG_SYS_NAND_SELF_INIT
> >     board_nand_init();
> >  #else
> 
> If I am correct, above has done to avoid nand_init() if already done from SPL
> boot.
> I will suggest to use compile time option to skip nand_init from board_r.c
> instead of global variable
> 

It is not the SPL's matter.
When PPA is loaded from NAND flash, the nand_init() will be called by 
ppa_init(), which is called earlier than the initr_nand(), so it will calculate 
a wrong total size without this flag.

Could you please help to detail how to use compile time option to skip 
nand_init from board_r.c?

Thanks,
Zhiqiang
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to