summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2009-10-06 15:08:29 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2010-06-07 16:24:02 +0100
commit4087524f3924c64791fab469b731f4e7420797a2 (patch)
tree982bbf8a1ef048f8eec461d8a0cbbb1789fe2c98
parent90d598285cd1d2cee38ad34dbb3b305816a986aa (diff)
downloadblackbird-obmc-linux-4087524f3924c64791fab469b731f4e7420797a2.tar.gz
blackbird-obmc-linux-4087524f3924c64791fab469b731f4e7420797a2.zip
spectra: Clean up emulation vs. hardware backend support
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@intel.com>
-rw-r--r--drivers/block/spectra/Kconfig6
-rw-r--r--drivers/block/spectra/Makefile5
-rw-r--r--drivers/block/spectra/lld.c2
-rw-r--r--drivers/block/spectra/spectraswconfig.h2
4 files changed, 13 insertions, 2 deletions
diff --git a/drivers/block/spectra/Kconfig b/drivers/block/spectra/Kconfig
index fbece109f6c6..dae951e96e6b 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 261891c23577..8f5e0179250f 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 3f411af4405e..c9a311213aff 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 b630f0651b31..1e6afd372fe4 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
OpenPOWER on IntegriCloud