[U-Boot] [PATCH 1/5] mtd: nand: add initialization flag
Prabhakar Kushwaha
prabhakar.kushwaha at nxp.com
Tue Mar 7 03:17:23 UTC 2017
> -----Original Message-----
> From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Zhiqiang
> Hou
> Sent: Friday, March 03, 2017 7:01 PM
> To: u-boot at lists.denx.de; oss at buserror.net; york sun <york.sun at nxp.com>;
> Mingkai.hu at freescale.com; sjg at chromium.org; Xiaobo Xie
> <xiaobo.xie at nxp.com>
> Cc: Z.Q. Hou <zhiqiang.hou at nxp.com>
> Subject: [U-Boot] [PATCH 1/5] mtd: nand: add initialization flag
>
> From: Hou Zhiqiang <Zhiqiang.Hou at 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.Hou at 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
--prabhakar
More information about the U-Boot
mailing list