aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorWilson Lee <wilson.lee@ni.com>2017-11-15 01:14:35 -0800
committerMichal Simek <michal.simek@xilinx.com>2017-11-29 08:02:40 +0100
commit310995d9f91ae56082b49be06fe8c3d01424f8f6 (patch)
tree10ef5f422c0690e1b95697013aebe28f5e38f48c /drivers
parent40df796133399d463b8a736deb5227a05c81caea (diff)
downloadu-boot-310995d9f91ae56082b49be06fe8c3d01424f8f6.zip
u-boot-310995d9f91ae56082b49be06fe8c3d01424f8f6.tar.gz
u-boot-310995d9f91ae56082b49be06fe8c3d01424f8f6.tar.bz2
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 <wilson.lee@ni.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Keng Soon Cheah <keng.soon.cheah@ni.com> Cc: Chen Yee Chew <chen.yee.chew@ni.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Cc: Scott Wood <oss@buserror.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/nand/zynq_nand.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mtd/nand/zynq_nand.c b/drivers/mtd/nand/zynq_nand.c
index 8d6a663..e6c80b5 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