Re: As 2.0 looms

Paul Gortmaker (gpg109@rsphy6.anu.edu.au)
Mon, 29 Apr 1996 13:45:09 +1000 (EST)


>From "Kai Henningsen" at Apr 28, 96 02:38:00 pm

[linux-kernel people, stay tuned -- patch follows]

> gpg109@rsphy1.anu.edu.au (Paul Gortmaker) wrote on 25.04.96 in <9604250809.AA30267@rsphy9.anu.edu.au>:
>
> > As a side note, I found non-computer types tend to correlate the term
> > "Alpha drivers" with the alpha-axp hardware, and not realize that it
> > refers to the maturity of the code. Perhaps a clearer term or phrase is
> > in order here, since more and more newbies are building kernels (which
> > is good).
>
> Pragmatic solution: s/alpha/beta-test/
>
> Most people know what a beta test is, and we don't have a beta
> architecture. Besides, it will help that "test" is in there.

I don't think that is wise. There are drivers in the present 1.3.x
that are essentially unusable even for light work. Calling them beta
would imply that they are fit for use by Joe Average, which is not
the case. This is a good way to invite bad press, and bring tons of
nasty e-mail down onto the driver developers.

Here is a patch to move the choice of alpha-test code to the top of
the configuration process, as per Alan's suggestion. Also, the config
help clearly explains what it is that the user is choosing. Having it
at the top will allow us to use it as a wrapper around things like
CONFIG_WIC, CONFIG_STRIP or whatever. Even CONFIG_KERNELD B-)

Paul.

============================================

diff -ur /home/linux/Documentation/Configure.help linux/Documentation/Configure.help
--- /home/linux/Documentation/Configure.help Sun Apr 28 17:34:01 1996
+++ linux/Documentation/Configure.help Mon Apr 29 13:30:32 1996
@@ -31,6 +31,24 @@
# in your own kernel configuration tools. The texts are copyrighted
# (c) 1995,1996 by Axel Boldt and governed by the GNU Public License.

+Prompt for development and/or incomplete code/drivers
+CONFIG_DEVEL
+ Some of the various things that Linux supports (such as network
+ drivers, filesystems, network protocols, etc.) can be in a state
+ of development where the functionality, stability, or the level of
+ testing is not yet high enough for general use. This is usually
+ known as the "alpha-test" phase amongst developers. If a feature is
+ currently in alpha-test, then the developers usually discourage
+ widespread use of this feature by the general public to avoid
+ "Why doesn't this work?" type mail messages. However, active testing
+ and and detailed bug reports from people familiar with the kernel's
+ internals are usually welcomed by the developers. Unless you intend
+ to help test and develop a feature or driver that falls into this
+ category, you should probably say N here, which will cause this
+ configure script to present you with less choices. If you say Y here,
+ you will be offered the choice of using features or drivers that are
+ currently considered to be in the alpha-test phase.
+
Kernel math emulation
CONFIG_MATH_EMULATION
Linux can emulate a math coprocessor (used for floating point
@@ -1736,20 +1754,6 @@
CONFIG_SUN_INTEL
This is support for the intel ethernet cards on some Sun workstations
(all those with a network interface 'ie0' under SunOS).
-
-Do you want to be offered ALPHA test drivers
-CONFIG_NET_ALPHA
- ALPHA means that they might be unstable and buggy; it has nothing to
- do with the computer architecture of the same name. If you don't
- have a network card in your computer, say N; otherwise say Y,
- because in most circumstances buggy support for your hardware is
- still better than none at all (in particular, it enables you to test
- and improve the drivers). Note that the answer to this question
- doesn't directly affect the kernel: saying N will just cause this
- configure script to present you with less choices. If you plan to
- use more than one network card under linux, read the
- Multiple-Ethernet-mini-HOWTO, available via ftp (user anonymous)
- from sunsite.unc.edu:/pub/Linux/docs/HOWTO/mini.

Western Digital/SMC cards
CONFIG_NET_VENDOR_SMC
diff -ur /home/linux/arch/alpha/config.in linux/arch/alpha/config.in
--- /home/linux/arch/alpha/config.in Sat Apr 27 22:42:38 1996
+++ linux/arch/alpha/config.in Mon Apr 29 13:30:18 1996
@@ -10,6 +10,11 @@
unset CONFIG_ALPHA_NEED_ROUNDING_EMULATION

mainmenu_option next_comment
+comment 'Code maturity level options'
+bool 'Prompt for development and/or incomplete code/drivers' CONFIG_DEVEL
+endmenu
+
+mainmenu_option next_comment
comment 'Loadable module support'
bool 'Enable loadable module support' CONFIG_MODULES
if [ "$CONFIG_MODULES" = "y" ]; then
diff -ur /home/linux/arch/alpha/defconfig linux/arch/alpha/defconfig
--- /home/linux/arch/alpha/defconfig Sat Apr 27 22:45:39 1996
+++ linux/arch/alpha/defconfig Mon Apr 29 12:31:11 1996
@@ -3,6 +3,11 @@
#

#
+# Code maturity level options
+#
+# CONFIG_DEVEL is not set
+
+#
# Loadable module support
#
CONFIG_MODULES=y
diff -ur /home/linux/arch/i386/config.in linux/arch/i386/config.in
--- /home/linux/arch/i386/config.in Mon Feb 26 20:58:03 1996
+++ linux/arch/i386/config.in Mon Apr 29 13:29:37 1996
@@ -5,6 +5,11 @@
mainmenu_name "Linux Kernel Configuration"

mainmenu_option next_comment
+comment 'Code maturity level options'
+bool 'Prompt for development and/or incomplete code/drivers' CONFIG_DEVEL
+endmenu
+
+mainmenu_option next_comment
comment 'Loadable module support'
bool 'Enable loadable module support' CONFIG_MODULES
if [ "$CONFIG_MODULES" = "y" ]; then
diff -ur /home/linux/arch/i386/defconfig linux/arch/i386/defconfig
--- /home/linux/arch/i386/defconfig Sat Apr 27 22:45:40 1996
+++ linux/arch/i386/defconfig Mon Apr 29 12:30:49 1996
@@ -3,6 +3,11 @@
#

#
+# Code maturity level options
+#
+# CONFIG_DEVEL is not set
+
+#
# Loadable module support
#
CONFIG_MODULES=y
diff -ur /home/linux/drivers/net/Config.in linux/drivers/net/Config.in
--- /home/linux/drivers/net/Config.in Sun Apr 28 17:34:23 1996
+++ linux/drivers/net/Config.in Mon Apr 29 12:32:03 1996
@@ -24,7 +24,6 @@
tristate ' SDLA (Sangoma S502/S508) support' CONFIG_SDLA
fi

-bool 'Do you want to be offered ALPHA test drivers' CONFIG_NET_ALPHA
bool 'Western Digital/SMC cards' CONFIG_NET_VENDOR_SMC
if [ "$CONFIG_NET_VENDOR_SMC" = "y" ]; then
tristate 'WD80*3 support' CONFIG_WD80x3
@@ -39,7 +38,7 @@
if [ "$CONFIG_NET_VENDOR_3COM" = "y" ]; then
tristate '3c501 support' CONFIG_EL1
tristate '3c503 support' CONFIG_EL2
- if [ "$CONFIG_NET_ALPHA" = "y" ]; then
+ if [ "$CONFIG_DEVEL" = "y" ]; then
tristate '3c505 support' CONFIG_ELPLUS
tristate '3c507 support' CONFIG_EL16
fi
@@ -52,7 +51,7 @@
tristate 'DEPCA support' CONFIG_DEPCA
tristate 'EtherWorks 3 support' CONFIG_EWRK3
tristate 'EtherExpress 16 support' CONFIG_EEXPRESS
- if [ "$CONFIG_NET_ALPHA" = "y" ]; then
+ if [ "$CONFIG_DEVEL" = "y" ]; then
bool 'SEEQ8005 support' CONFIG_SEEQ8005
tristate 'AT1700 support' CONFIG_AT1700
tristate 'FMV-181/182 support' CONFIG_FMV18X
@@ -74,7 +73,7 @@
fi
bool 'EISA, VLB, PCI and on board controllers' CONFIG_NET_EISA
if [ "$CONFIG_NET_EISA" = "y" ]; then
- if [ "$CONFIG_NET_ALPHA" = "y" ]; then
+ if [ "$CONFIG_DEVEL" = "y" ]; then
tristate 'Ansel Communications EISA 3200 support' CONFIG_AC3200
fi
tristate 'Apricot Xen-II on board ethernet' CONFIG_APRICOT