make xconfig
If I enable xconfig, I get these errors from the linux-2.4.19-ia64-020821.diff:
ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_LOOP).
ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_NBD).
ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_RAM).
The consequence is that these parameters do not get written to the appropriate files. Also, there are two top level "Block devices" menues.
This issue has been discussed a bit and I agree that the right solution is probably to fix the way that xconfig works. Short of this, we could choose not to source drivers/block/Config.in, and instead include the drivers/block/Config.in parameters in arch/ia64/config.in, as in the attached patch. This bloats the file a bit, but solves the issue in an arch independent way.
-Jason Baron
__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com
ia64/config.in renamed from ia64/config.in.bak +59 -13
@@ -136,7 +136,64 @@ if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then source drivers/mtd/Config.in source drivers/pnp/Config.in - source drivers/block/Config.in +fi + +# +# Block device driver configuration +# +mainmenu_option next_comment +comment 'Block devices' + +if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then + tristate 'Normal PC floppy disk support' CONFIG_BLK_DEV_FD + if [ "$CONFIG_AMIGA" = "y" ]; then + tristate 'Amiga floppy support' CONFIG_AMIGA_FLOPPY + fi + if [ "$CONFIG_ATARI" = "y" ]; then + tristate 'Atari floppy support' CONFIG_ATARI_FLOPPY + fi + if [ "$CONFIG_MAC" = "y" ]; then + dep_bool 'Macintosh IIfx/Quadra 900/Quadra 950 floppy support (EXPERIMENTAL)' CONFIG_BLK_DEV_SWIM_IOP $CONFIG_EXPERIMENTAL + fi + if [ "$CONFIG_MCA" = "y" ]; then + tristate 'PS/2 ESDI hard disk support' CONFIG_BLK_DEV_PS2 + fi + if [ "$CONFIG_ZORRO" = "y" ]; then + tristate 'Amiga Zorro II ramdisk support' CONFIG_AMIGA_Z2RAM + fi + if [ "$CONFIG_ATARI" = "y" ]; then + tristate 'Atari ACSI support' CONFIG_ATARI_ACSI + if [ "$CONFIG_ATARI_ACSI" != "n" ]; then + comment 'Some devices (e.g. CD jukebox) support multiple LUNs' + bool ' Probe all LUNs on each ACSI device' CONFIG_ACSI_MULTI_LUN + tristate ' Atari SLM laser printer support' CONFIG_ATARI_SLM + fi + fi + dep_tristate 'XT hard disk support' CONFIG_BLK_DEV_XD $CONFIG_ISA + dep_tristate 'Parallel port IDE device support' CONFIG_PARIDE $CONFIG_PARPORT + if [ "$CONFIG_PARIDE" = "y" -o "$CONFIG_PARIDE" = "m" ]; then + source drivers/block/paride/Config.in + fi + dep_tristate 'Compaq SMART2 support' CONFIG_BLK_CPQ_DA $CONFIG_PCI + dep_tristate 'Compaq Smart Array 5xxx support' CONFIG_BLK_CPQ_CISS_DA $CONFIG_PCI + dep_mbool ' SCSI tape drive support for Smart Array 5xxx' CONFIG_CISS_SCSI_TAPE $CONFIG_BLK_CPQ_CISS_DA $CONFIG_SCSI + dep_tristate 'Mylex DAC960/DAC1100 PCI RAID Controller support' CONFIG_BLK_DEV_DAC960 $CONFIG_PCI + dep_tristate 'Micro Memory MM5415 Battery Backed RAM support' CONFIG_BLK_DEV_UMEM $CONFIG_PCI $CONFIG_EXPERIMENTAL +fi # !HP_SIM + + tristate 'Loopback device support' CONFIG_BLK_DEV_LOOP + dep_tristate 'Network block device support' CONFIG_BLK_DEV_NBD $CONFIG_NET + + tristate 'RAM disk support' CONFIG_BLK_DEV_RAM + if [ "$CONFIG_BLK_DEV_RAM" = "y" -o "$CONFIG_BLK_DEV_RAM" = "m" ]; then + int ' Default RAM disk size' CONFIG_BLK_DEV_RAM_SIZE 4096 + fi + dep_bool ' Initial RAM disk (initrd) support' CONFIG_BLK_DEV_INITRD $CONFIG_BLK_DEV_RAM + +endmenu + + +if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then source drivers/ieee1394/Config.in source drivers/message/i2o/Config.in source drivers/md/Config.in
@@ -154,18 +211,7 @@ define_bool CONFIG_BLK_DEV_HD n fi endmenu -else # HP_SIM - mainmenu_option next_comment - comment 'Block devices' - tristate 'Loopback device support' CONFIG_BLK_DEV_LOOP - dep_tristate 'Network block device support' CONFIG_BLK_DEV_NBD $CONFIG_NET - - tristate 'RAM disk support' CONFIG_BLK_DEV_RAM - if [ "$CONFIG_BLK_DEV_RAM" = "y" -o "$CONFIG_BLK_DEV_RAM" = "m" ]; then - int ' Default RAM disk size' CONFIG_BLK_DEV_RAM_SIZE 4096 - fi - endmenu -fi # HP_SIM +fi # !HP_SIM mainmenu_option next_comment comment 'SCSI support'
Quoted 8 lines
This issue has been discussed a bit and I agree that the right solution is probably to fix the way that xconfig works. Short of this, we could choose not to source
drivers/block/Config.in, and instead include thedrivers/block/Config.inparameters inarch/ia64/config.in, as in the attached patch. This bloats the file a bit, but solves the issue in an arch independent way.
Duplicating the contents of drivers/block/Config.in doesn't feel like an improvement. Doesn't it just add more opportunity for me to make merge mistakes? I don't need any more of those :-)
Bjorn
Quoted 9 lines · --- Bjorn Helgaas
Quoted 1 line
This issue has been discussed a bit and I agree
that
Quoted 2 lines
the right solution is probably to fix the way that xconfig works. Short of this, we could choose not
to
Quoted 1 line
source
drivers/block/Config.in, and insteadinclude
Quoted 2 lines
the
drivers/block/Config.inparameters inarch/ia64/config.in, as in the attached patch.
Quoted 8 lines
This
Quoted 1 line
bloats the file a bit, but solves the issue in an
arch
Quoted 1 line
independent way.
Duplicating the contents of
drivers/block/Config.indoesn't
feel like an improvement.
They are already duplicated.
-Jason
__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com
Quoted 10 lines · Jason Baron
If I enable xconfig, I get these errors from the linux-2.4.19-ia64-020821.diff:
ERROR - Attempting to write value for unconfigured variable (
CONFIG_BLK_DEV_LOOP).
ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_NBD).
ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_RAM).
Quoted 7 lines
The consequence is that these parameters do not get written to the appropriate files. Also, there are two top level "Block devices" menues.
This issue has been discussed a bit and I agree that the right solution is probably to fix the way that xconfig works.
It is an undocumented restriction of xconfig that an option should only be set in one menu. xconfig can detect sets of options within a menu, it sometimes detects sets of options across menus but do not rely on that. Nobody who has looked at the xconfig code is willing to remove this restriction (they usually turn white and and run away).
Unfortunately some architectures break this rule and break xconfig.
Quoted 6 lines
Short of this, we could choose not to
sourcedrivers/block/Config.in, and instead include thedrivers/block/Config.inparameters inarch/ia64/config.in, as in the attached patch. This bloats the file a bit, but solves the issue in an arch independent way.
Given the current menuconfig and xconfig code, the only workable fix is to follow the config rules. That means any variable should only be set in one menu. Do not duplicate variables in arch/ia64/config.in. Instead add conditions around the variables in drivers/block/Config.in and other Config.in files.
I sent DM a patch to do just this, but he rejected it. Instead xconfig was disabled. Disabling xconfig is not the solution, multiple definitions of a variable in multiple menus will silently break menuconfig as well (think out of order menu selection).