2002-07-08 12:20:17

by Brad Hards

[permalink] [raw]
Subject: [RFC patch] Config re-org for storage devices

I'm looking at usability cleanups on the configuration files ([Cc]onfig.in).

The main concepts are to keep related menu entries together without excessive
resort to 'misc" and "general", and to keep xconfig and menuconfig entries to
about a screenful. Those two concepts are sometimes contradictory....

The current focus is on the various mass storage drivers. I plan to group them
all under a single menu entry (done for i386, easily extensible to other arch,
except for sparc of course). The main changes are pulling the parallel port
IDE stuff out of the rest of block to a separate menu item, pulling QIC02 and
ftape out of the rest of char(!) and some (fairly dubious) changes to the way
IDE configuration works.

Find below a draft patch for comment. Even fflames would be good - at least it
would show people read this stuff.

diff -Naur -X dontdiff linux-2.5.25-clean/arch/alpha/config.in linux-2.5.25-config/arch/alpha/config.in
--- linux-2.5.25-clean/arch/alpha/config.in Sat Jul 6 09:42:18 2002
+++ linux-2.5.25-config/arch/alpha/config.in Mon Jul 8 21:57:19 2002
@@ -276,6 +276,8 @@

source drivers/block/Config.in

+source drivers/block/Config-paride.in
+
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
@@ -285,13 +287,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

mainmenu_option next_comment
@@ -336,6 +333,7 @@
endmenu

source drivers/char/Config.in
+source drivers/char/Config-tape.in

#source drivers/misc/Config.in

diff -Naur -X dontdiff linux-2.5.25-clean/arch/arm/config.in linux-2.5.25-config/arch/arm/config.in
--- linux-2.5.25-clean/arch/arm/config.in Sat Jul 6 09:42:18 2002
+++ linux-2.5.25-config/arch/arm/config.in Mon Jul 8 21:56:59 2002
@@ -508,6 +508,7 @@

source drivers/pnp/Config.in
source drivers/block/Config.in
+source drivers/block/Config-paride.in
source drivers/md/Config.in

if [ "$CONFIG_ARCH_ACORN" = "y" ]; then
@@ -534,13 +535,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

mainmenu_option next_comment
@@ -577,6 +573,7 @@
define_bool CONFIG_RPCMOUSE y
fi
fi
+source drivers/char/Config-tape.in

source drivers/media/Config.in

diff -Naur -X dontdiff linux-2.5.25-clean/arch/cris/config.in linux-2.5.25-config/arch/cris/config.in
--- linux-2.5.25-clean/arch/cris/config.in Sat Jul 6 09:42:28 2002
+++ linux-2.5.25-config/arch/cris/config.in Mon Jul 8 22:03:30 2002
@@ -133,6 +133,8 @@

source drivers/block/Config.in

+source drivers/block/Config-paride.in
+
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
@@ -144,13 +146,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

mainmenu_option next_comment
@@ -201,6 +198,7 @@
#
source drivers/input/Config.in
source drivers/char/Config.in
+source drivers/char/Config-tape.in

#source drivers/misc/Config.in

diff -Naur -X dontdiff linux-2.5.25-clean/arch/i386/config.in linux-2.5.25-config/arch/i386/config.in
--- linux-2.5.25-clean/arch/i386/config.in Sat Jul 6 09:42:20 2002
+++ linux-2.5.25-config/arch/i386/config.in Mon Jul 8 21:57:47 2002
@@ -294,33 +294,16 @@

endmenu

-source drivers/mtd/Config.in
-
source drivers/parport/Config.in

source drivers/pnp/Config.in

-source drivers/block/Config.in
-
-source drivers/md/Config.in
-
-if [ "$CONFIG_NET" = "y" ]; then
- source net/Config.in
-fi
-
-source drivers/telephony/Config.in
-
mainmenu_option next_comment
-comment 'ATA/IDE/MFM/RLL support'
+comment 'Mass storage support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/block/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
-endmenu
+source drivers/ide/Config.in

mainmenu_option next_comment
comment 'SCSI support'
@@ -332,6 +315,31 @@
fi
endmenu

+mainmenu_option next_comment
+comment 'Old CD-ROM drivers (not SCSI, not IDE)'
+
+bool 'Support non-SCSI/IDE/ATAPI CDROM drives' CONFIG_CD_NO_IDESCSI
+if [ "$CONFIG_CD_NO_IDESCSI" != "n" ]; then
+ source drivers/cdrom/Config.in
+fi
+endmenu
+
+source drivers/block/Config-paride.in
+
+source drivers/mtd/Config.in
+
+source drivers/md/Config.in
+
+source drivers/char/Config-tape.in
+
+endmenu
+
+if [ "$CONFIG_NET" = "y" ]; then
+ source net/Config.in
+fi
+
+source drivers/telephony/Config.in
+
source drivers/message/fusion/Config.in

source drivers/ieee1394/Config.in
@@ -358,15 +366,6 @@

source drivers/isdn/Config.in

-mainmenu_option next_comment
-comment 'Old CD-ROM drivers (not SCSI, not IDE)'
-
-bool 'Support non-SCSI/IDE/ATAPI CDROM drives' CONFIG_CD_NO_IDESCSI
-if [ "$CONFIG_CD_NO_IDESCSI" != "n" ]; then
- source drivers/cdrom/Config.in
-fi
-endmenu
-
#
# input before char - char/joystick depends on it. As does USB.
#
diff -Naur -X dontdiff linux-2.5.25-clean/arch/ia64/config.in linux-2.5.25-config/arch/ia64/config.in
--- linux-2.5.25-clean/arch/ia64/config.in Sat Jul 6 09:42:38 2002
+++ linux-2.5.25-config/arch/ia64/config.in Mon Jul 8 22:02:28 2002
@@ -127,6 +127,7 @@
source drivers/mtd/Config.in
source drivers/pnp/Config.in
source drivers/block/Config.in
+source drivers/block/Config-paride.in
source drivers/ieee1394/Config.in
source drivers/message/i2o/Config.in
source drivers/md/Config.in
@@ -135,13 +136,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

else # ! HP_SIM
@@ -200,6 +196,7 @@
#
source drivers/input/Config.in
source drivers/char/Config.in
+source drivers/char/Config-tape.in

#source drivers/misc/Config.in

diff -Naur -X dontdiff linux-2.5.25-clean/arch/m68k/config.in linux-2.5.25-config/arch/m68k/config.in
--- linux-2.5.25-clean/arch/m68k/config.in Sat Jul 6 09:42:32 2002
+++ linux-2.5.25-config/arch/m68k/config.in Mon Jul 8 22:04:01 2002
@@ -149,6 +149,8 @@

source drivers/block/Config.in

+source drivers/block/Config-paride.in
+
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
@@ -162,13 +164,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

mainmenu_option next_comment
diff -Naur -X dontdiff linux-2.5.25-clean/arch/mips/config.in linux-2.5.25-config/arch/mips/config.in
--- linux-2.5.25-clean/arch/mips/config.in Sat Jul 6 09:42:32 2002
+++ linux-2.5.25-config/arch/mips/config.in Mon Jul 8 22:04:32 2002
@@ -331,6 +331,8 @@

source drivers/block/Config.in

+source drivers/block/Config-paride.in
+
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
@@ -345,13 +347,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

- tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
-
- if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
- else
- define_bool CONFIG_BLK_DEV_HD n
- fi
+ source drivers/ide/Config.in
+
endmenu
fi

@@ -400,6 +397,7 @@
endmenu

source drivers/char/Config.in
+source drivers/char/Config-tape.in

source drivers/media/Config.in

diff -Naur -X dontdiff linux-2.5.25-clean/arch/mips64/config.in linux-2.5.25-config/arch/mips64/config.in
--- linux-2.5.25-clean/arch/mips64/config.in Sat Jul 6 09:42:05 2002
+++ linux-2.5.25-config/arch/mips64/config.in Mon Jul 8 22:05:02 2002
@@ -129,6 +129,8 @@

source drivers/block/Config.in

+source drivers/block/Config-paride.in
+
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
@@ -140,13 +142,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

mainmenu_option next_comment
@@ -191,6 +188,7 @@
endmenu

source drivers/char/Config.in
+source drivers/char/Config-tape.in

#source drivers/misc/Config.in

diff -Naur -X dontdiff linux-2.5.25-clean/arch/parisc/config.in linux-2.5.25-config/arch/parisc/config.in
--- linux-2.5.25-clean/arch/parisc/config.in Sat Jul 6 09:42:38 2002
+++ linux-2.5.25-config/arch/parisc/config.in Mon Jul 8 21:34:45 2002
@@ -98,6 +98,8 @@

source drivers/block/Config.in

+source drivers/block/Config-paride.in
+
if [ "$CONFIG_NET" = "y" ]; then
source net/Config.in
fi
@@ -163,6 +165,7 @@
fi

source drivers/char/Config.in
+source drivers/char/Config-tape.in

source fs/Config.in

diff -Naur -X dontdiff linux-2.5.25-clean/arch/ppc/config.in linux-2.5.25-config/arch/ppc/config.in
--- linux-2.5.25-clean/arch/ppc/config.in Sat Jul 6 09:42:01 2002
+++ linux-2.5.25-config/arch/ppc/config.in Mon Jul 8 22:05:31 2002
@@ -413,6 +413,7 @@
source drivers/mtd/Config.in
source drivers/pnp/Config.in
source drivers/block/Config.in
+source drivers/block/Config-paride.in
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
@@ -422,12 +423,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
+source drivers/ide/Config.in
+
endmenu

mainmenu_option next_comment
@@ -557,6 +554,8 @@

source drivers/char/Config.in

+source drivers/char/Config-tape.in
+
source drivers/media/Config.in

source fs/Config.in
diff -Naur -X dontdiff linux-2.5.25-clean/arch/ppc64/config.in linux-2.5.25-config/arch/ppc64/config.in
--- linux-2.5.25-clean/arch/ppc64/config.in Sat Jul 6 09:42:05 2002
+++ linux-2.5.25-config/arch/ppc64/config.in Mon Jul 8 22:05:57 2002
@@ -79,6 +79,7 @@
source drivers/mtd/Config.in
source drivers/pnp/Config.in
source drivers/block/Config.in
+source drivers/block/Config-paride.in
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
@@ -88,13 +89,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

mainmenu_option next_comment
@@ -188,6 +184,8 @@

source drivers/char/Config.in

+source drivers/char/Config-tape.in
+
source drivers/media/Config.in

source fs/Config.in
diff -Naur -X dontdiff linux-2.5.25-clean/arch/sh/config.in linux-2.5.25-config/arch/sh/config.in
--- linux-2.5.25-clean/arch/sh/config.in Sat Jul 6 09:42:27 2002
+++ linux-2.5.25-config/arch/sh/config.in Mon Jul 8 21:13:25 2002
@@ -204,6 +204,8 @@

source drivers/block/Config.in

+source drivers/block/Config-paride.in
+
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
diff -Naur -X dontdiff linux-2.5.25-clean/arch/sparc/config.in linux-2.5.25-config/arch/sparc/config.in
--- linux-2.5.25-clean/arch/sparc/config.in Sat Jul 6 09:42:03 2002
+++ linux-2.5.25-config/arch/sparc/config.in Mon Jul 8 22:06:18 2002
@@ -106,13 +106,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

- tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+ source drivers/ide/Config.in

- if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
- else
- define_bool CONFIG_BLK_DEV_HD n
- fi
endmenu
else
define_bool CONFIG_IDE n
diff -Naur -X dontdiff linux-2.5.25-clean/arch/sparc64/config.in linux-2.5.25-config/arch/sparc64/config.in
--- linux-2.5.25-clean/arch/sparc64/config.in Sat Jul 6 09:42:20 2002
+++ linux-2.5.25-config/arch/sparc64/config.in Mon Jul 8 22:06:54 2002
@@ -107,13 +107,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

mainmenu_option next_comment
diff -Naur -X dontdiff linux-2.5.25-clean/arch/x86_64/config.in linux-2.5.25-config/arch/x86_64/config.in
--- linux-2.5.25-clean/arch/x86_64/config.in Sat Jul 6 09:42:18 2002
+++ linux-2.5.25-config/arch/x86_64/config.in Mon Jul 8 22:07:20 2002
@@ -117,6 +117,8 @@

source drivers/block/Config.in

+source drivers/block/Config-paride.in
+
source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
@@ -128,13 +130,8 @@
mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

-tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+source drivers/ide/Config.in

-if [ "$CONFIG_IDE" != "n" ]; then
- source drivers/ide/Config.in
-else
- define_bool CONFIG_BLK_DEV_HD n
-fi
endmenu

mainmenu_option next_comment
@@ -182,6 +179,7 @@
#
source drivers/input/Config.in
source drivers/char/Config.in
+source drivers/char/Config-tape.in

source drivers/misc/Config.in

diff -Naur -X dontdiff linux-2.5.25-clean/drivers/block/Config-paride.in linux-2.5.25-config/drivers/block/Config-paride.in
--- linux-2.5.25-clean/drivers/block/Config-paride.in Thu Jan 1 10:00:00 1970
+++ linux-2.5.25-config/drivers/block/Config-paride.in Mon Jul 8 21:00:54 2002
@@ -0,0 +1,12 @@
+#
+# Block device driver configuration
+#
+mainmenu_option next_comment
+comment 'Parallel Port IDE device support'
+
+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
+
+endmenu
diff -Naur -X dontdiff linux-2.5.25-clean/drivers/block/Config.in linux-2.5.25-config/drivers/block/Config.in
--- linux-2.5.25-clean/drivers/block/Config.in Sat Jul 6 09:42:19 2002
+++ linux-2.5.25-config/drivers/block/Config.in Mon Jul 8 21:01:35 2002
@@ -29,10 +29,7 @@
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
diff -Naur -X dontdiff linux-2.5.25-clean/drivers/char/Config-tape.in linux-2.5.25-config/drivers/char/Config-tape.in
--- linux-2.5.25-clean/drivers/char/Config-tape.in Thu Jan 1 10:00:00 1970
+++ linux-2.5.25-config/drivers/char/Config-tape.in Mon Jul 8 21:26:23 2002
@@ -0,0 +1,24 @@
+#
+# Character device configuration
+#
+mainmenu_option next_comment
+comment 'Miscellaneous tape devices'
+
+tristate 'QIC-02 tape support' CONFIG_QIC02_TAPE
+if [ "$CONFIG_QIC02_TAPE" != "n" ]; then
+ bool ' Do you want runtime configuration for QIC-02' CONFIG_QIC02_DYNCONF
+ if [ "$CONFIG_QIC02_DYNCONF" != "y" ]; then
+ comment ' Edit configuration parameters in ./include/linux/tpqic02.h!'
+ else
+ comment ' Setting runtime QIC-02 configuration is done with qic02conf'
+ comment ' from the tpqic02-support package. It is available at'
+ comment ' metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/'
+ fi
+fi
+
+tristate 'Ftape (QIC-80/Travan) support' CONFIG_FTAPE
+if [ "$CONFIG_FTAPE" != "n" ]; then
+ source drivers/char/ftape/Config.in
+fi
+endmenu
+
diff -Naur -X dontdiff linux-2.5.25-clean/drivers/char/Config.in linux-2.5.25-config/drivers/char/Config.in
--- linux-2.5.25-clean/drivers/char/Config.in Sat Jul 6 09:42:18 2002
+++ linux-2.5.25-config/drivers/char/Config.in Mon Jul 8 21:27:03 2002
@@ -131,18 +131,6 @@
fi
endmenu

-tristate 'QIC-02 tape support' CONFIG_QIC02_TAPE
-if [ "$CONFIG_QIC02_TAPE" != "n" ]; then
- bool ' Do you want runtime configuration for QIC-02' CONFIG_QIC02_DYNCONF
- if [ "$CONFIG_QIC02_DYNCONF" != "y" ]; then
- comment ' Edit configuration parameters in ./include/linux/tpqic02.h!'
- else
- comment ' Setting runtime QIC-02 configuration is done with qic02conf'
- comment ' from the tpqic02-support package. It is available at'
- comment ' metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/'
- fi
-fi
-
mainmenu_option next_comment
comment 'Watchdog Cards'
bool 'Watchdog Timer Support' CONFIG_WATCHDOG
@@ -202,14 +190,6 @@
dep_tristate 'Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)' CONFIG_SONYPI $CONFIG_PCI
fi

-mainmenu_option next_comment
-comment 'Ftape, the floppy tape device driver'
-tristate 'Ftape (QIC-80/Travan) support' CONFIG_FTAPE
-if [ "$CONFIG_FTAPE" != "n" ]; then
- source drivers/char/ftape/Config.in
-fi
-endmenu
-
dep_tristate '/dev/agpgart (AGP Support)' CONFIG_AGP $CONFIG_DRM_AGP
if [ "$CONFIG_AGP" != "n" ]; then
bool ' Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support' CONFIG_AGP_INTEL
diff -Naur -X dontdiff linux-2.5.25-clean/drivers/ide/Config.in linux-2.5.25-config/drivers/ide/Config.in
--- linux-2.5.25-clean/drivers/ide/Config.in Sat Jul 6 09:42:34 2002
+++ linux-2.5.25-config/drivers/ide/Config.in Mon Jul 8 22:02:04 2002
@@ -6,6 +6,8 @@
mainmenu_option next_comment
comment 'ATA and ATAPI Block devices'

+tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
+
dep_tristate 'Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support' CONFIG_BLK_DEV_IDE $CONFIG_IDE
comment 'Please see Documentation/ide.txt for help/info on IDE drives'
if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; then


2002-07-08 12:37:46

by Martin Dalecki

[permalink] [raw]
Subject: Re: [RFC patch] Config re-org for storage devices

U?ytkownik Brad Hards napisa?:
> I'm looking at usability cleanups on the configuration files ([Cc]onfig.in).
>
> The main concepts are to keep related menu entries together without excessive
> resort to 'misc" and "general", and to keep xconfig and menuconfig entries to
> about a screenful. Those two concepts are sometimes contradictory....
>
> The current focus is on the various mass storage drivers. I plan to group them
> all under a single menu entry (done for i386, easily extensible to other arch,
> except for sparc of course). The main changes are pulling the parallel port
> IDE stuff out of the rest of block to a separate menu item, pulling QIC02 and
> ftape out of the rest of char(!) and some (fairly dubious) changes to the way
> IDE configuration works.
>
> Find below a draft patch for comment. Even fflames would be good - at least it
> would show people read this stuff.

Looked thorugh it. No need for flaming found. The IDE changes are
fine. However a "subsystem by subsystem" patch approach would
help, since I could for example pull the stuff I care about out
and test it without regression concerns for the other things.