On 15.11.2017 10:14, Wilson Lee wrote: > Putting board_nand_init() function inside NAND driver was not appropriate > due to it doesn't allow board vendor to customise their NAND > initialization code such as adding NAND lock/unlock code. > > This commit was to move the board_nand_init() function from NAND driver > to board.c file. This allow customization of board_nand_init() function. > > Signed-off-by: Wilson Lee <wilson....@ni.com> > Cc: Joe Hershberger <joe.hershber...@ni.com> > Cc: Keng Soon Cheah <keng.soon.ch...@ni.com> > Cc: Chen Yee Chew <chen.yee.c...@ni.com> > Cc: Albert Aribaud <albert.u.b...@aribaud.net> > Cc: Michal Simek <michal.si...@xilinx.com> > Cc: Siva Durga Prasad Paladugu <siva.durga.palad...@xilinx.com> > Cc: Scott Wood <o...@buserror.net> > --- > arch/arm/mach-zynq/include/mach/nand.h | 9 +++++++++ > drivers/mtd/nand/zynq_nand.c | 6 ++++-- > 2 files changed, 13 insertions(+), 2 deletions(-) > create mode 100644 arch/arm/mach-zynq/include/mach/nand.h > > diff --git a/arch/arm/mach-zynq/include/mach/nand.h > b/arch/arm/mach-zynq/include/mach/nand.h > new file mode 100644 > index 0000000..61ef45f > --- /dev/null > +++ b/arch/arm/mach-zynq/include/mach/nand.h > @@ -0,0 +1,9 @@ > +/* > + * Copyright (C) 2017 National Instruments Corp. > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#include <nand.h> > + > +void zynq_nand_init(void); > diff --git a/drivers/mtd/nand/zynq_nand.c b/drivers/mtd/nand/zynq_nand.c > index dec2c41..076b878 100644 > --- a/drivers/mtd/nand/zynq_nand.c > +++ b/drivers/mtd/nand/zynq_nand.c > @@ -1006,7 +1006,7 @@ static int zynq_nand_device_ready(struct mtd_info *mtd) > return 0; > } > > -static int zynq_nand_init(struct nand_chip *nand_chip, int devnum) > +int zynq_nand_init(struct nand_chip *nand_chip, int devnum) > { > struct zynq_nand_info *xnand; > struct mtd_info *mtd; > @@ -1192,12 +1192,14 @@ fail: > return err; > } > > +#ifdef CONFIG_SYS_NAND_SELF_INIT > static struct nand_chip nand_chip[CONFIG_SYS_MAX_NAND_DEVICE]; > > -void board_nand_init(void) > +void __weak board_nand_init(void) > { > struct nand_chip *nand = &nand_chip[0]; > > if (zynq_nand_init(nand, 0)) > puts("ZYNQ NAND init failed\n"); > } > +#endif >
Applied. Michal _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot