From: Stefan Agner <[email protected]>

In preparation for device tree support separate board init
from controller init similar to other raw NAND drivers.

Signed-off-by: Stefan Agner <[email protected]>
---

 drivers/mtd/nand/mxs_nand.c | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/drivers/mtd/nand/mxs_nand.c b/drivers/mtd/nand/mxs_nand.c
index 3f97da5e8f..b5fd0fdd62 100644
--- a/drivers/mtd/nand/mxs_nand.c
+++ b/drivers/mtd/nand/mxs_nand.c
@@ -1193,22 +1193,12 @@ err1:
        return ret;
 }
 
-void board_nand_init(void)
+int mxs_nand_init(struct mxs_nand_info *nand_info)
 {
        struct mtd_info *mtd;
-       struct mxs_nand_info *nand_info;
        struct nand_chip *nand;
        int err;
 
-       nand_info = malloc(sizeof(struct mxs_nand_info));
-       if (!nand_info) {
-               printf("MXS NAND: Failed to allocate private data\n");
-                       return;
-       }
-       memset(nand_info, 0, sizeof(struct mxs_nand_info));
-
-       nand_info->gpmi_regs = (struct mxs_gpmi_regs *)MXS_GPMI_BASE;
-       nand_info->bch_regs = (struct mxs_bch_regs *)MXS_BCH_BASE;
        nand = &nand_info->chip;
        mtd = nand_to_mtd(nand);
        err = mxs_nand_alloc_buffers(nand_info);
@@ -1265,12 +1255,29 @@ void board_nand_init(void)
        if (err)
                goto err2;
 
-       return;
+       return 0;
 
 err2:
        free(nand_info->data_buf);
        free(nand_info->cmd_buf);
 err1:
        free(nand_info);
-       return;
+       return err;
+}
+
+void board_nand_init(void)
+{
+       struct mxs_nand_info *nand_info;
+
+       nand_info = malloc(sizeof(struct mxs_nand_info));
+       if (!nand_info) {
+               printf("MXS NAND: Failed to allocate private data\n");
+                       return;
+       }
+       memset(nand_info, 0, sizeof(struct mxs_nand_info));
+
+       nand_info->gpmi_regs = (struct mxs_gpmi_regs *)MXS_GPMI_BASE;
+       nand_info->bch_regs = (struct mxs_bch_regs *)MXS_BCH_BASE;
+
+       mxs_nand_init(nand_info);
 }
-- 
2.17.0

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to