Re: MTD Config.in items not escaped by bus availability

Jörn Engel
2002-10-31T18:08:24Z

On Thu, 31 October 2002 17:53:22 +0100, Jörn Engel wrote:
> I'll try to create a sample patch soon. But it remains your duty to
> make it production-ready and convince David.

All right. This patch will only create the mtd devices from ram and
block devices, unless $CONFIG_MEMORY_BUS is defined.
Brian, can you define this option for all platforms other tham uml?

Also, this might still be a little too broad for nand flash. Nand
needs more than just a memory bus, but I don't know what exactly.
But this should be close enough for now.

Jörn

--
"Translations are and will always be problematic. They inflict violence
upon two languages." (translation from German)

diff -Naur linux-2.4.19/drivers/mtd/chips/Config.in linux-2.4.19-murrel/drivers/mtd/chips/Config.in
--- linux-2.4.19/drivers/mtd/chips/Config.in Fri Oct 5 00:13:18 2001
+++ linux-2.4.19-murrel/drivers/mtd/chips/Config.in Thu Oct 31 19:11:53 2002
@@ -6,52 +6,53 @@

comment 'RAM/ROM/Flash chip drivers'

-dep_tristate ' Detect flash chips by Common Flash Interface (CFI) probe' CONFIG_MTD_CFI $CONFIG_MTD
-#dep_tristate ' Detect non-CFI Intel-compatible flash chips' CONFIG_MTD_INTELPROBE $CONFIG_MTD
-dep_tristate ' Detect non-CFI AMD/JEDEC-compatible flash chips' CONFIG_MTD_JEDECPROBE $CONFIG_MTD
+if [ "$CONFIG_MEMORY_BUS" ]; then
+ dep_tristate ' Detect flash chips by Common Flash Interface (CFI) probe' CONFIG_MTD_CFI $CONFIG_MTD
+ #dep_tristate ' Detect non-CFI Intel-compatible flash chips' CONFIG_MTD_INTELPROBE $CONFIG_MTD
+ dep_tristate ' Detect non-CFI AMD/JEDEC-compatible flash chips' CONFIG_MTD_JEDECPROBE $CONFIG_MTD

-if [ "$CONFIG_MTD_CFI" = "y" -o "$CONFIG_MTD_INTELPROBE" = "y" -o "$CONFIG_MTD_JEDECPROBE" = "y" ]; then
- define_bool CONFIG_MTD_GEN_PROBE y
-else
- if [ "$CONFIG_MTD_CFI" = "m" -o "$CONFIG_MTD_INTELPROBE" = "m" -o "$CONFIG_MTD_JEDECPROBE" = "m" ]; then
- define_bool CONFIG_MTD_GEN_PROBE m
+ if [ "$CONFIG_MTD_CFI" = "y" -o "$CONFIG_MTD_INTELPROBE" = "y" -o "$CONFIG_MTD_JEDECPROBE" = "y" ]; then
+ define_bool CONFIG_MTD_GEN_PROBE y
else
- define_bool CONFIG_MTD_GEN_PROBE n
+ if [ "$CONFIG_MTD_CFI" = "m" -o "$CONFIG_MTD_INTELPROBE" = "m" -o "$CONFIG_MTD_JEDECPROBE" = "m" ]; then
+ define_bool CONFIG_MTD_GEN_PROBE m
+ else
+ define_bool CONFIG_MTD_GEN_PROBE n
+ fi
fi
-fi
-if [ "$CONFIG_MTD_GEN_PROBE" = "y" -o "$CONFIG_MTD_GEN_PROBE" = "m" ]; then
- bool ' Flash chip driver advanced configuration options' CONFIG_MTD_CFI_ADV_OPTIONS
- if [ "$CONFIG_MTD_CFI_ADV_OPTIONS" = "y" ]; then
- choice 'Flash cmd/query data swapping' \
- "NO CONFIG_MTD_CFI_NOSWAP \
- BIG_ENDIAN_BYTE CONFIG_MTD_CFI_BE_BYTE_SWAP \
- LITTLE_ENDIAN_BYTE CONFIG_MTD_CFI_LE_BYTE_SWAP" NO
- bool ' Specific CFI Flash geometry selection' CONFIG_MTD_CFI_GEOMETRY
- if [ "$CONFIG_MTD_CFI_GEOMETRY" = "y" ]; then
- bool ' Support 8-bit buswidth' CONFIG_MTD_CFI_B1
- bool ' Support 16-bit buswidth' CONFIG_MTD_CFI_B2
- bool ' Support 32-bit buswidth' CONFIG_MTD_CFI_B4
- if [ "$CONFIG_MTD_CFI_B1" = "y" ]; then
- define_bool CONFIG_MTD_CFI_I1 y
- else
- bool ' Support 1-chip flash interleave' CONFIG_MTD_CFI_I1
- fi
- bool ' Support 2-chip flash interleave' CONFIG_MTD_CFI_I2
- bool ' Support 4-chip flash interleave' CONFIG_MTD_CFI_I4
+ if [ "$CONFIG_MTD_GEN_PROBE" = "y" -o "$CONFIG_MTD_GEN_PROBE" = "m" ]; then
+ bool ' Flash chip driver advanced configuration options' CONFIG_MTD_CFI_ADV_OPTIONS
+ if [ "$CONFIG_MTD_CFI_ADV_OPTIONS" = "y" ]; then
+ choice 'Flash cmd/query data swapping' \
+ "NO CONFIG_MTD_CFI_NOSWAP \
+ BIG_ENDIAN_BYTE CONFIG_MTD_CFI_BE_BYTE_SWAP \
+ LITTLE_ENDIAN_BYTE CONFIG_MTD_CFI_LE_BYTE_SWAP" NO
+ bool ' Specific CFI Flash geometry selection' CONFIG_MTD_CFI_GEOMETRY
+ if [ "$CONFIG_MTD_CFI_GEOMETRY" = "y" ]; then
+ bool ' Support 8-bit buswidth' CONFIG_MTD_CFI_B1
+ bool ' Support 16-bit buswidth' CONFIG_MTD_CFI_B2
+ bool ' Support 32-bit buswidth' CONFIG_MTD_CFI_B4
+ if [ "$CONFIG_MTD_CFI_B1" = "y" ]; then
+ define_bool CONFIG_MTD_CFI_I1 y
+ else
+ bool ' Support 1-chip flash interleave' CONFIG_MTD_CFI_I1
+ fi
+ bool ' Support 2-chip flash interleave' CONFIG_MTD_CFI_I2
+ bool ' Support 4-chip flash interleave' CONFIG_MTD_CFI_I4
+ fi
fi
- fi
-fi
-dep_tristate ' Support for Intel/Sharp flash chips' CONFIG_MTD_CFI_INTELEXT $CONFIG_MTD_GEN_PROBE
-dep_tristate ' Support for AMD/Fujitsu flash chips' CONFIG_MTD_CFI_AMDSTD $CONFIG_MTD_GEN_PROBE
-
-dep_tristate ' Support for RAM chips in bus mapping' CONFIG_MTD_RAM $CONFIG_MTD
-dep_tristate ' Support for ROM chips in bus mapping' CONFIG_MTD_ROM $CONFIG_MTD
-dep_tristate ' Support for absent chips in bus mapping' CONFIG_MTD_ABSENT $CONFIG_MTD
+ fi
+ dep_tristate ' Support for Intel/Sharp flash chips' CONFIG_MTD_CFI_INTELEXT $CONFIG_MTD_GEN_PROBE
+ dep_tristate ' Support for AMD/Fujitsu flash chips' CONFIG_MTD_CFI_AMDSTD $CONFIG_MTD_GEN_PROBE

-bool ' Older (theoretically obsoleted now) drivers for non-CFI chips' CONFIG_MTD_OBSOLETE_CHIPS
-dep_tristate ' AMD compatible flash chip support (non-CFI)' CONFIG_MTD_AMDSTD $CONFIG_MTD $CONFIG_MTD_OBSOLETE_CHIPS
-dep_tristate ' pre-CFI Sharp chip support' CONFIG_MTD_SHARP $CONFIG_MTD $CONFIG_MTD_OBSOLETE_CHIPS
-dep_tristate ' JEDEC device support' CONFIG_MTD_JEDEC $CONFIG_MTD $CONFIG_MTD_OBSOLETE_CHIPS
+ dep_tristate ' Support for RAM chips in bus mapping' CONFIG_MTD_RAM $CONFIG_MTD
+ dep_tristate ' Support for ROM chips in bus mapping' CONFIG_MTD_ROM $CONFIG_MTD
+ dep_tristate ' Support for absent chips in bus mapping' CONFIG_MTD_ABSENT $CONFIG_MTD

+ bool ' Older (theoretically obsoleted now) drivers for non-CFI chips' CONFIG_MTD_OBSOLETE_CHIPS
+ dep_tristate ' AMD compatible flash chip support (non-CFI)' CONFIG_MTD_AMDSTD $CONFIG_MTD $CONFIG_MTD_OBSOLETE_CHIPS
+ dep_tristate ' pre-CFI Sharp chip support' CONFIG_MTD_SHARP $CONFIG_MTD $CONFIG_MTD_OBSOLETE_CHIPS
+ dep_tristate ' JEDEC device support' CONFIG_MTD_JEDEC $CONFIG_MTD $CONFIG_MTD_OBSOLETE_CHIPS
+fi

endmenu
diff -Naur linux-2.4.19/drivers/mtd/devices/Config.in linux-2.4.19-murrel/drivers/mtd/devices/Config.in
--- linux-2.4.19/drivers/mtd/devices/Config.in Fri Oct 5 00:13:18 2001
+++ linux-2.4.19-murrel/drivers/mtd/devices/Config.in Thu Oct 31 19:17:22 2002
@@ -10,7 +10,7 @@
bool ' PMC551 256M DRAM Bugfix' CONFIG_MTD_PMC551_BUGFIX
bool ' PMC551 Debugging' CONFIG_MTD_PMC551_DEBUG
fi
-dep_tristate ' Uncached system RAM' CONFIG_MTD_SLRAM $CONFIG_MTD
+dep_tristate ' Uncached system RAM' CONFIG_MTD_SLRAM $CONFIG_MTD "$CONFIG_MEMORY_BUS"
if [ "$CONFIG_SA1100_LART" = "y" ]; then
dep_tristate ' 28F160xx flash driver for LART' CONFIG_MTD_LART $CONFIG_MTD
fi
@@ -24,7 +24,8 @@
fi
dep_tristate ' MTD emulation using block device' CONFIG_MTD_BLKMTD $CONFIG_MTD

-comment 'Disk-On-Chip Device Drivers'
+if [ "$CONFIG_MEMORY_BUS" ]; then
+ comment 'Disk-On-Chip Device Drivers'
dep_tristate ' M-Systems Disk-On-Chip 1000' CONFIG_MTD_DOC1000 $CONFIG_MTD
dep_tristate ' M-Systems Disk-On-Chip 2000 and Millennium' CONFIG_MTD_DOC2000 $CONFIG_MTD
dep_tristate ' M-Systems Disk-On-Chip Millennium-only alternative driver (see help)' CONFIG_MTD_DOC2001 $CONFIG_MTD
@@ -50,6 +51,7 @@
bool ' Probe for 0x55 0xAA BIOS Extension Signature' CONFIG_MTD_DOCPROBE_55AA
fi
fi
+fi

endmenu
diff -Naur linux-2.4.19/drivers/mtd/nand/Config.in linux-2.4.19-murrel/drivers/mtd/nand/Config.in
--- linux-2.4.19/drivers/mtd/nand/Config.in Fri Oct 5 00:13:18 2001
+++ linux-2.4.19-murrel/drivers/mtd/nand/Config.in Thu Oct 31 19:15:55 2002
@@ -6,7 +6,7 @@

comment 'NAND Flash Device Drivers'

-dep_tristate ' NAND Device Support' CONFIG_MTD_NAND $CONFIG_MTD
+dep_tristate ' NAND Device Support' CONFIG_MTD_NAND $CONFIG_MTD "$CONFIG_MEMORY_BUS"
if [ "$CONFIG_MTD_NAND" = "y" -o "$CONFIG_MTD_NAND" = "m" ]; then
bool ' Enable ECC correction algorithm' CONFIG_MTD_NAND_ECC
bool ' Verify NAND page writes' CONFIG_MTD_NAND_VERIFY_WRITE