changeset 2985:ec8d2110956b

k9 nand: don't provide bbt data when it isn't required
author Ross Younger <wry@ecoscentric.com>
date Fri, 13 Nov 2009 12:10:27 +0000
parents be6f83b0018e
children d98364f14102
files packages/devs/nand/samsung_k9/current/ChangeLog packages/devs/nand/samsung_k9/current/include/k9fxx08x0x.h packages/devs/nand/samsung_k9/current/include/k9fxx08x0x.inl
diffstat 3 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/nand/samsung_k9/current/ChangeLog
+++ b/packages/devs/nand/samsung_k9/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-11-13  Ross Younger  <wry@eCosCentric.com>
+
+	* Don't provide BBT data when the NAND layer doesn't call for it.
+
 2009-11-09  Ross Younger  <wry@eCosCentric.com>
 
 	* Add read_part_page function.
--- a/packages/devs/nand/samsung_k9/current/include/k9fxx08x0x.h
+++ b/packages/devs/nand/samsung_k9/current/include/k9fxx08x0x.h
@@ -52,6 +52,7 @@
 //####DESCRIPTIONEND####
 //=============================================================================
 
+#include <pkgconf/io_nand.h>
 #include <cyg/nand/nand_device.h>
 #include <cyg/hal/drv_api.h>
 #include <cyg/infra/diag.h>
@@ -74,7 +75,9 @@
 struct _k9_priv {
     void *plat_priv; // For use by the platform HAL, if desired.
     cyg_nand_page_addr pagestash; // Guarded by dev lock.
+#ifdef CYGSEM_IO_NAND_USE_BBT
     unsigned char bbt_data[k9f1g_bbt_datasize];
+#endif
 };
 
 typedef struct _k9_priv k9_priv;
--- a/packages/devs/nand/samsung_k9/current/include/k9fxx08x0x.inl
+++ b/packages/devs/nand/samsung_k9/current/include/k9fxx08x0x.inl
@@ -45,6 +45,7 @@
 //####DESCRIPTIONEND####
 //=============================================================================
 
+#include <pkgconf/io_nand.h>
 #include <cyg/devs/nand/k9fxx08x0x.h>
 #include <cyg/infra/cyg_ass.h>
 
@@ -131,8 +132,10 @@ static int k9_devinit(cyg_nand_device *d
             // This is a 1Gbit device with 1024 eraseblocks.
             dev->blockcount_bits = k9f1g_blockcount_bits;
             dev->chipsize_log = k9f1g_chipsize_log;
+#ifdef CYGSEM_IO_NAND_USE_BBT
             dev->bbt.data = priv->bbt_data;
             dev->bbt.datasize = sizeof(priv->bbt_data);
+#endif
             break;
         default:
             NAND_CHATTER(1,dev, "Unrecognised device code (expected F1)\n");