summaryrefslogtreecommitdiff
path: root/nuttx/drivers
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-11-27 11:04:40 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-11-27 11:04:40 -0600
commit0fbbe19c1269dd9e902cbf3e98b1c4a6d614f6f2 (patch)
tree3b39649021b8e5a825b66bd49aec6a63be87c3bf /nuttx/drivers
parent60db7e8c876bf9a810c77138f4ac7af28e887045 (diff)
downloadpx4-nuttx-0fbbe19c1269dd9e902cbf3e98b1c4a6d614f6f2.tar.gz
px4-nuttx-0fbbe19c1269dd9e902cbf3e98b1c4a6d614f6f2.tar.bz2
px4-nuttx-0fbbe19c1269dd9e902cbf3e98b1c4a6d614f6f2.zip
SAMA5 NAND: A few bug fixes for integration. Still lots more to do
Diffstat (limited to 'nuttx/drivers')
-rw-r--r--nuttx/drivers/mtd/Kconfig4
-rw-r--r--nuttx/drivers/mtd/Make.defs2
-rwxr-xr-xnuttx/drivers/mtd/mtd_nand.c10
3 files changed, 9 insertions, 7 deletions
diff --git a/nuttx/drivers/mtd/Kconfig b/nuttx/drivers/mtd/Kconfig
index 3bc1afa2e..b86ba72b0 100644
--- a/nuttx/drivers/mtd/Kconfig
+++ b/nuttx/drivers/mtd/Kconfig
@@ -123,8 +123,6 @@ config MTD_NAND_BLOCKCHECK
---help---
Enable support for ECC and bad block checking.
-if MTD_NAND_BLOCKCHECK
-
config MTD_NAND_SWECC
bool "Sofware ECC support"
default n if ARCH_NAND_HWECC
@@ -145,8 +143,6 @@ config MTD_NAND_MAXSPAREEXTRABYTES
---help---
Maximum number of extra free bytes inside the spare area of a page.
-endif # MTD_NAND_BLOCKCHECK
-
config MTD_NAND_EMBEDDEDECC
bool "Support devices with Embedded ECC"
default n
diff --git a/nuttx/drivers/mtd/Make.defs b/nuttx/drivers/mtd/Make.defs
index ee58d3047..cac97d79c 100644
--- a/nuttx/drivers/mtd/Make.defs
+++ b/nuttx/drivers/mtd/Make.defs
@@ -47,7 +47,7 @@ endif
ifeq ($(CONFIG_MTD_NAND),y)
CSRCS += mtd_nand.c mtd_onfi.c mtd_nandscheme.c mtd_nandmodel.c mtd_modeltab.c
-ifeq ($(CONFIG_MTD_NAND_BLOCKCHECK),y)
+ifeq ($(CONFIG_MTD_NAND_SWECC),y)
CSRCS += mtd_nandecc.c hamming.c
endif
endif
diff --git a/nuttx/drivers/mtd/mtd_nand.c b/nuttx/drivers/mtd/mtd_nand.c
index 519e5f7af..31500e365 100755
--- a/nuttx/drivers/mtd/mtd_nand.c
+++ b/nuttx/drivers/mtd/mtd_nand.c
@@ -95,7 +95,7 @@ static int nand_checkblock(FAR struct nand_dev_s *nand, off_t block);
static int nand_devscan(FAR struct nand_dev_s *nand);
#else
# define nand_checkblock(n,b) (GOODBLOCK)
-# define nand_devscan(n)
+# define nand_devscan(n) (0)
#endif
/* Misc. NAND helpers */
@@ -237,6 +237,11 @@ static int nand_checkblock(FAR struct nand_dev_s *nand, off_t block)
* Description:
* Scans the device to retrieve or create block status information.
*
+ * Currently, this functin does nothing but scan the NAND and eat up time.
+ * This is a goot thing to do if you are debugging NAND, but otherwise,
+ * just a waste of time. This logic could, however, be integrated into
+ * some bad block checking logic at sometime in the future.
+ *
* Input Parameters:
* nand - Pointer to a struct nand_dev_s instance.
*
@@ -245,7 +250,8 @@ static int nand_checkblock(FAR struct nand_dev_s *nand, off_t block)
*
****************************************************************************/
-#ifdef CONFIG_MTD_NAND_BLOCKCHECK
+//#ifdef CONFIG_MTD_NAND_BLOCKCHECK
+#if defined(CONFIG_MTD_NAND_BLOCKCHECK) && defined(CONFIG_DEBUG_VERBOSE) && defined(CONFIG_DEBUG_FS)
static int nand_devscan(FAR struct nand_dev_s *nand)
{
FAR struct nand_raw_s *raw;