[PATCH 003/524] spectra: Clean up emulation vs. hardware backend support

Greg Kroah-Hartman gregkh at suse.de
Thu Aug 5 22:16:26 UTC 2010


From: David Woodhouse <David.Woodhouse at intel.com>

Only build the parts which are actually needed, and turn the DMA support
(which is currently hard-coded off) into a config option (still forced off).

Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
 drivers/block/spectra/Kconfig           |    6 ++++++
 drivers/block/spectra/Makefile          |    5 ++++-
 drivers/block/spectra/lld.c             |    2 ++
 drivers/block/spectra/spectraswconfig.h |    2 +-
 4 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/block/spectra/Kconfig b/drivers/block/spectra/Kconfig
index fbece10..dae951e 100644
--- a/drivers/block/spectra/Kconfig
+++ b/drivers/block/spectra/Kconfig
@@ -25,3 +25,9 @@ config MRST_NAND_EMU
 
 endchoice
 
+config MRST_NAND_HW_DMA
+       bool
+       default n
+       depends on MRST_NAND_HW
+       help
+         Use DMA for native hardware interface.
diff --git a/drivers/block/spectra/Makefile b/drivers/block/spectra/Makefile
index 261891c..8f5e017 100644
--- a/drivers/block/spectra/Makefile
+++ b/drivers/block/spectra/Makefile
@@ -3,5 +3,8 @@
 #
 
 obj-$(CONFIG_MRST_NAND) += spectra.o
-spectra-objs := ffsport.o flash.o lld.o lld_emu.o lld_nand.o lld_cdma.o
+spectra-y := ffsport.o flash.o lld.o
+spectra-$(CONFIG_MRST_NAND_HW) += lld_nand.o 
+spectra-$(CONFIG_MRST_NAND_HW_DMA) += lld_cdma.o
+spectra-$(CONFIG_MRST_NAND_EMU) += lld_emu.o
 
diff --git a/drivers/block/spectra/lld.c b/drivers/block/spectra/lld.c
index 3f411af..c9a3112 100644
--- a/drivers/block/spectra/lld.c
+++ b/drivers/block/spectra/lld.c
@@ -199,6 +199,7 @@ u16  GLOB_LLD_Get_Bad_Block(u32 block)
 	return  NAND_Get_Bad_Block(block);
 }
 
+#if CMD_DMA
 u16 GLOB_LLD_Event_Status(void)
 {
 	return CDMA_Event_Status();
@@ -251,6 +252,7 @@ u16 GLOB_LLD_Read_Page_Main_Spare_cdma(u8 *data,
 			LLD_CMD_FLAG_MODE_CDMA);
 }
 
+#endif /* CMD_DMA */
 #endif /* FLASH_NAND */
 
 /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
diff --git a/drivers/block/spectra/spectraswconfig.h b/drivers/block/spectra/spectraswconfig.h
index b630f06..1e6afd3 100644
--- a/drivers/block/spectra/spectraswconfig.h
+++ b/drivers/block/spectra/spectraswconfig.h
@@ -47,7 +47,7 @@
 /***** Product Feature Support *****/
 #define FLASH_EMU               defined(CONFIG_MRST_NAND_EMU)
 #define FLASH_NAND              defined(CONFIG_MRST_NAND_HW)
-#define CMD_DMA                   0
+#define CMD_DMA                 defined(CONFIG_MRST_NAND_HW_DMA)
 
 #define SPECTRA_PARTITION_ID    0
 
-- 
1.7.1




More information about the devel mailing list