Module Name: src
Committed By: jmcneill
Date: Mon Nov 13 17:37:02 UTC 2017
Modified Files:
src/sys/arch/arm/sunxi: sunxi_nand.c
Log Message:
Use nand_attach_mtdparts
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/sunxi/sunxi_nand.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/sunxi/sunxi_nand.c
diff -u src/sys/arch/arm/sunxi/sunxi_nand.c:1.3 src/sys/arch/arm/sunxi/sunxi_nand.c:1.4
--- src/sys/arch/arm/sunxi/sunxi_nand.c:1.3 Mon Nov 13 14:14:25 2017
+++ src/sys/arch/arm/sunxi/sunxi_nand.c Mon Nov 13 17:37:02 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_nand.c,v 1.3 2017/11/13 14:14:25 jmcneill Exp $ */
+/* $NetBSD: sunxi_nand.c,v 1.4 2017/11/13 17:37:02 jmcneill Exp $ */
/*-
* Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c,v 1.3 2017/11/13 14:14:25 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c,v 1.4 2017/11/13 17:37:02 jmcneill Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -40,6 +40,8 @@ __KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c
#include <dev/nand/nand.h>
#include <dev/nand/onfi.h>
+#include <arm/bootconfig.h>
+
#define NDFC_CTL 0x00
#define NDFC_CTL_CE_SEL __BITS(27,24)
#define NDFC_CTL_PAGE_SIZE __BITS(11,8)
@@ -432,7 +434,7 @@ sunxi_nand_attach_chip(struct sunxi_nand
struct sunxi_nand_chip *chip, int phandle)
{
struct nand_interface *nand = &chip->chip_nand;
- const char *ecc_mode;
+ const char *ecc_mode, *mtdparts;
chip->chip_sc = sc;
chip->chip_phandle = phandle;
@@ -514,6 +516,17 @@ sunxi_nand_attach_chip(struct sunxi_nand
#endif
chip->chip_dev = nand_attach_mi(nand, sc->sc_dev);
+ if (chip->chip_dev == NULL)
+ return;
+
+ mtdparts = get_bootconf_string(boot_args, "mtdparts");
+ if (mtdparts != NULL) {
+ char mtd_id[strlen("sunxi-nand.X") + 1];
+ snprintf(mtd_id, sizeof(mtd_id), "sunxi-nand.%u",
+ device_unit(sc->sc_dev));
+
+ nand_attach_mtdparts(chip->chip_dev, mtd_id, mtdparts);
+ }
}
static int