From: Wilson Lee Date: Wed, 15 Nov 2017 09:14:35 +0000 (-0800) Subject: mtd: zynq: nand: Move board_nand_init() function to board.c X-Git-Tag: v2018.01-rc1~59^2~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=310995d9f91ae56082b49be06fe8c3d01424f8f6;p=oweals%2Fu-boot.git mtd: zynq: nand: Move board_nand_init() function to board.c 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 Cc: Joe Hershberger Cc: Keng Soon Cheah Cc: Chen Yee Chew Cc: Albert Aribaud Cc: Michal Simek Cc: Siva Durga Prasad Paladugu Cc: Scott Wood Signed-off-by: Michal Simek --- 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 0000000000..61ef45f582 --- /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 + +void zynq_nand_init(void); diff --git a/drivers/mtd/nand/zynq_nand.c b/drivers/mtd/nand/zynq_nand.c index 8d6a663d72..e6c80b5b5c 100644 --- a/drivers/mtd/nand/zynq_nand.c +++ b/drivers/mtd/nand/zynq_nand.c @@ -994,7 +994,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; @@ -1180,12 +1180,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