> [zaitcev@redhat.com]
> 
> > Date: Wed, 1 Jan 2003 21:49:54 +0100
> > From: Tomas Szepe <szepe@pinerecords.com>
> 
> > Would you be ok with my possible moving of sparc32 specific net driver
> > configuration from arch/sparc/Kconfig to drivers/net/Kconfig just like
> > sparc64 and all other architectures (except m68k) have been for a long
> > time now?
> > 
> > Of course this would be 2.5-only.
> 
> Be my guest. Everything that makes us match sparc64 better
> is welcome.
Here's a first stab then.  No need to include sbus devices
in drivers/net/Kconfig, they're all there already.  Unfortunately
this has to tune a lot of drivers' bus dependencies, I'm quite sure
I've missed some.
diff -urN a/arch/sparc/Kconfig b/arch/sparc/Kconfig
--- a/arch/sparc/Kconfig	2002-12-16 07:01:46.000000000 +0100
+++ b/arch/sparc/Kconfig	2003-01-01 22:16:54.000000000 +0100
@@ -918,357 +918,12 @@
           Guide", to be found in <http://www.linuxdoc.org/docs.html#guide>. If
           unsure, say Y.
 
-config DUMMY
-	tristate "Dummy net driver support"
-	depends on NETDEVICES
-	---help---
-	  This is essentially a bit-bucket device (i.e. traffic you send to
-	  this device is consigned into oblivion) with a configurable IP
-	  address. It is most commonly used in order to make your currently
-	  inactive SLIP address seem like a real address for local programs.
-	  If you use SLIP or PPP, you might want to say Y here. Since this
-	  thing often comes in handy, the default is Y. It won't enlarge your
-	  kernel either. What a deal. Read about it in the Network
-	  Administrator's Guide, available from
-	  <http://www.linuxdoc.org/docs.html#guide>.
-
-	  If you want to compile this as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want),
-	  say M here and read <file:Documentation/modules.txt>.  The module
-	  will be called dummy.o.  If you want to use more than one dummy
-	  device at a time, you need to compile this driver as a module.
-	  Instead of 'dummy', the devices will then be called 'dummy0',
-	  'dummy1' etc.
-
-config BONDING
-	tristate "Bonding driver support"
-	depends on NETDEVICES
-	---help---
-	  Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
-	  Channels together. This is called 'Etherchannel' by Cisco,
-	  'Trunking' by Sun, and 'Bonding' in Linux.
-
-	  If you have two Ethernet connections to some other computer, you can
-	  make them behave like one double speed connection using this driver.
-	  Naturally, this has to be supported at the other end as well, either
-	  with a similar Bonding Linux driver, a Cisco 5500 switch or a
-	  SunTrunking SunSoft driver.
-
-	  This is similar to the EQL driver, but it merges Ethernet segments
-	  instead of serial lines.
-
-	  If you want to compile this as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want),
-	  say M here and read <file:Documentation/modules.txt>.  The module
-	  will be called bonding.o.
-
-config TUN
-	tristate "Universal TUN/TAP device driver support"
-	depends on NETDEVICES
-	---help---
-	  TUN/TAP provides packet reception and transmission for user space
-	  programs.  It can be viewed as a simple Point-to-Point or Ethernet
-	  device, which instead of receiving packets from a physical media,
-	  receives them from user space program and instead of sending packets
-	  via physical media writes them to the user space program.
-
-	  When a program opens /dev/net/tun, driver creates and registers
-	  corresponding net device tunX or tapX.  After a program closed above
-	  devices, driver will automatically delete tunXX or tapXX device and
-	  all routes corresponding to it.
-
-	  Please read <file:Documentation/networking/tuntap.txt> for more
-	  information.
-
-	  This driver is also available as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want).
-	  The module will be called tun.o.  If you want to compile it as a
-	  module, say M here and read <file:Documentation/modules.txt>.
-
-	  If you don't know what to use this for, you don't need it.
-
-config ETHERTAP
-	tristate "Ethertap network tap (OBSOLETE)"
-	depends on NETDEVICES && EXPERIMENTAL && NETLINK
-	---help---
-	  If you say Y here (and have said Y to "Kernel/User network link
-	  driver", above) and create a character special file /dev/tap0 with
-	  major number 36 and minor number 16 using mknod ("man mknod"), you
-	  will be able to have a user space program read and write raw
-	  Ethernet frames from/to that special file.  tap0 can be configured
-	  with ifconfig and route like any other Ethernet device but it is not
-	  connected to any physical LAN; everything written by the user to
-	  /dev/tap0 is treated by the kernel as if it had come in from a LAN
-	  to the device tap0; everything the kernel wants to send out over the
-	  device tap0 can instead be read by the user from /dev/tap0: the user
-	  mode program replaces the LAN that would be attached to an ordinary
-	  Ethernet device. Please read the file
-	  <file:Documentation/networking/ethertap.txt> for more information.
-
-	  This driver is also available as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want).
-	  The module will be called ethertap.o. If you want to compile it as a
-	  module, say M here and read <file:Documentation/modules.txt>.
-
-	  If you don't know what to use this for, you don't need it.
-
-config PPP
-	tristate "PPP (point-to-point protocol) support"
-	depends on NETDEVICES
-	---help---
-	  PPP (Point to Point Protocol) is a newer and better SLIP.  It serves
-	  the same purpose: sending Internet traffic over telephone (and other
-	  serial) lines.  Ask your access provider if they support it, because
-	  otherwise you can't use it; most Internet access providers these
-	  days support PPP rather than SLIP.
-
-	  To use PPP, you need an additional program called pppd as described
-	  in the PPP-HOWTO, available at
-	  <http://www.linuxdoc.org/docs.html#howto>.  Make sure that you have
-	  the version of pppd recommended in <file:Documentation/Changes>.
-	  The PPP option enlarges your kernel by about 16 KB.
-
-	  There are actually two versions of PPP: the traditional PPP for
-	  asynchronous lines, such as regular analog phone lines, and
-	  synchronous PPP which can be used over digital ISDN lines for
-	  example.  If you want to use PPP over phone lines or other
-	  asynchronous serial lines, you need to say Y (or M) here and also to
-	  the next option, "PPP support for async serial ports".  For PPP over
-	  synchronous lines, you should say Y (or M) here and to "Support
-	  synchronous PPP", below.
-
-	  This driver is also available as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want).
-	  If you said Y to "Version information on all symbols" above, then
-	  you cannot compile the PPP driver into the kernel; you can then only
-	  compile it as a module.  The module will be called ppp_generic.o.
-	  If you want to compile it as a module, say M here and read
-	  <file:Documentation/modules.txt> as well as
-	  <file:Documentation/networking/net-modules.txt>.
-
-config PPP_ASYNC
-	tristate "PPP support for async serial ports"
-	depends on PPP
-	---help---
-	  Say Y (or M) here if you want to be able to use PPP over standard
-	  asynchronous serial ports, such as COM1 or COM2 on a PC.  If you use
-	  a modem (not a synchronous or ISDN modem) to contact your ISP, you
-	  need this option.
-
-	  This code is also available as a module (code which can be inserted
-	  into and removed from the running kernel).  If you want to compile
-	  it as a module, say M here and read <file:Documentation/modules.txt>.
-
-	  If unsure, say Y.
-
-config PPP_SYNC_TTY
-	tristate "PPP support for sync tty ports"
-	depends on PPP
-	help
-	  Say Y (or M) here if you want to be able to use PPP over synchronous
-	  (HDLC) tty devices, such as the SyncLink adapter. These devices
-	  are often used for high-speed leased lines like T1/E1.
-
-	  This code is also available as a module (code which can be inserted
-	  into and removed from the running kernel).  If you want to compile
-	  it as a module, say M here and read
-	  <file:Documentation/modules.txt>.
-
-config PPP_DEFLATE
-	tristate "PPP Deflate compression"
-	depends on PPP
-	---help---
-	  Support for the Deflate compression method for PPP, which uses the
-	  Deflate algorithm (the same algorithm that gzip uses) to compress
-	  each PPP packet before it is sent over the wire.  The machine at the
-	  other end of the PPP link (usually your ISP) has to support the
-	  Deflate compression method as well for this to be useful.  Even if
-	  they don't support it, it is safe to say Y here.
-
-	  This code is also available as a module (code which can be inserted
-	  into and removed from the running kernel).  If you want to compile
-	  it as a module, say M here and read
-	  <file:Documentation/modules.txt>.
-
-config PPP_BSDCOMP
-	tristate "PPP BSD-Compress compression"
-	depends on NETDEVICES && PPP!=n && m
-	---help---
-	  Support for the BSD-Compress compression method for PPP, which uses
-	  the LZW compression method to compress each PPP packet before it is
-	  sent over the wire. The machine at the other end of the PPP link
-	  (usually your ISP) has to support the BSD-Compress compression
-	  method as well for this to be useful. Even if they don't support it,
-	  it is safe to say Y here.
-
-	  The PPP Deflate compression method ("PPP Deflate compression",
-	  above) is preferable to BSD-Compress, because it compresses better
-	  and is patent-free.
-
-	  Note that the BSD compression code will always be compiled as a
-	  module; it is called bsd_comp.o and will show up in the directory
-	  modules once you have said "make modules". If unsure, say N.
-
-config SLIP
-	tristate "SLIP (serial line) support"
-	depends on NETDEVICES
-	---help---
-	  Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to
-	  connect to your Internet service provider or to connect to some
-	  other local Unix box or if you want to configure your Linux box as a
-	  Slip/CSlip server for other people to dial in. SLIP (Serial Line
-	  Internet Protocol) is a protocol used to send Internet traffic over
-	  serial connections such as telephone lines or null modem cables;
-	  nowadays, the protocol PPP is more commonly used for this same
-	  purpose.
-
-	  Normally, your access provider has to support SLIP in order for you
-	  to be able to use it, but there is now a SLIP emulator called SLiRP
-	  around (available from
-	  <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
-	  allows you to use SLIP over a regular dial up shell connection. If
-	  you plan to use SLiRP, make sure to say Y to CSLIP, below. The
-	  NET-3-HOWTO, available from
-	  <http://www.linuxdoc.org/docs.html#howto>, explains how to
-	  configure SLIP. Note that you don't need this option if you just
-	  want to run term (term is a program which gives you almost full
-	  Internet connectivity if you have a regular dial up shell account on
-	  some Internet connected Unix computer. Read
-	  <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>). SLIP
-	  support will enlarge your kernel by about 4 KB. If unsure, say N.
-
-	  If you want to compile this as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want),
-	  say M here and read <file:Documentation/modules.txt> as well as
-	  <file:Documentation/networking/net-modules.txt>. The module will be
-	  called slip.o.
-
-config SLIP_COMPRESSED
-	bool "CSLIP compressed headers"
-	depends on SLIP
-	---help---
-	  This protocol is faster than SLIP because it uses compression on the
-	  TCP/IP headers (not on the data itself), but it has to be supported
-	  on both ends. Ask your access provider if you are not sure and
-	  answer Y, just in case. You will still be able to use plain SLIP. If
-	  you plan to use SLiRP, the SLIP emulator (available from
-	  <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
-	  allows you to use SLIP over a regular dial up shell connection, you
-	  definitely want to say Y here. The NET-3-HOWTO, available from
-	  <http://www.linuxdoc.org/docs.html#howto>, explains how to configure
-	  CSLIP. This won't enlarge your kernel.
-
-config SLIP_SMART
-	bool "Keepalive and linefill"
-	depends on SLIP
-	help
-	  Adds additional capabilities to the SLIP driver to support the
-	  RELCOM line fill and keepalive monitoring. Ideal on poor quality
-	  analogue lines.
-
-config SLIP_MODE_SLIP6
-	bool "Six bit SLIP encapsulation"
-	depends on SLIP
-	help
-	  Just occasionally you may need to run IP over hostile serial
-	  networks that don't pass all control characters or are only seven
-	  bit. Saying Y here adds an extra mode you can use with SLIP:
-	  "slip6". In this mode, SLIP will only send normal ASCII symbols over
-	  the serial device. Naturally, this has to be supported at the other
-	  end of the link as well. It's good enough, for example, to run IP
-	  over the async ports of a Camtec JNT Pad. If unsure, say N.
-
-config SUNLANCE
-	tristate "Sun LANCE support"
-	depends on NETDEVICES
-	help
-	  This driver supports the "le" interface present on all 32-bit Sparc
-	  systems, on some older Ultra systems and as an Sbus option.  These
-	  cards are based on the AMD Lance chipset, which is better known
-	  via the NE2100 cards.
-
-	  This support is also available as a module called sunlance.o ( =
-	  code which can be inserted in and removed from the running kernel
-	  whenever you want). If you want to compile it as a module, say M
-	  here and read <file:Documentation/modules.txt>.
-
-config HAPPYMEAL
-	tristate "Sun Happy Meal 10/100baseT support"
-	depends on NETDEVICES
-	help
-	  This driver supports the "hme" interface present on most Ultra
-	  systems and as an option on older Sbus systems. This driver supports
-	  both PCI and Sbus devices. This driver also supports the "qfe" quad
-	  100baseT device available in both PCI and Sbus configurations.
-
-	  This support is also available as a module called sunhme.o ( = code
-	  which can be inserted in and removed from the running kernel
-	  whenever you want). If you want to compile it as a module, say M
-	  here and read <file:Documentation/modules.txt>.
-
-config SUNBMAC
-	tristate "Sun BigMAC 10/100baseT support (EXPERIMENTAL)"
-	depends on NETDEVICES && EXPERIMENTAL
-	help
-	  This driver supports the "be" interface available as an Sbus option.
-	  This is Sun's older 100baseT Ethernet device.
-
-	  This support is also available as a module called sunbmac.o ( = code
-	  which can be inserted in and removed from the running kernel
-	  whenever you want). If you want to compile it as a module, say M
-	  here and read <file:Documentation/modules.txt>.
-
-config SUNQE
-	tristate "Sun QuadEthernet support"
-	depends on NETDEVICES
-	help
-	  This driver supports the "qe" 10baseT Ethernet device, available as
-	  an Sbus option. Note that this is not the same as Quad FastEthernet
-	  "qfe" which is supported by the Happy Meal driver instead.
-
-	  This support is also available as a module called sunqe.o ( = code
-	  which can be inserted in and removed from the running kernel
-	  whenever you want). If you want to compile it as a module, say M
-	  here and read <file:Documentation/modules.txt>.
-
-config MYRI_SBUS
-	tristate "MyriCOM Gigabit Ethernet support"
-	depends on NETDEVICES
-	help
-	  This driver supports MyriCOM Sbus gigabit Ethernet cards.
-
-	  If you want to compile this driver as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want),
-	  say M here and read <file:Documentation/modules.txt>.  This is
-	  recommended.  The module will be called myri_sbus.o.
-
-config VORTEX
-	tristate "3c590/3c900 series (592/595/597) \"Vortex/Boomerang\" support"
-	depends on NETDEVICES && PCI
-	---help---
-	  This option enables driver support for a large number of 10mbps and
-	  10/100mbps EISA, PCI and PCMCIA 3Com network cards:
-
-	  "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI
-	  "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI
-	  "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus
-	  "Tornado"   (3c905)                                  PCI
-	  "Hurricane" (3c555/3cSOHO)                           PCI
-
-	  If you have such a card, say Y and read the Ethernet-HOWTO,
-	  available from <http://www.linuxdoc.org/docs.html#howto>. More
-	  specific information is in
-	  <file:Documentation/networking/vortex.txt> and in the comments at
-	  the beginning of <file:drivers/net/3c59x.c>.
-
-	  If you want to compile this as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want),
-	  say M here and read <file:Documentation/modules.txt> as well as
-	  <file:Documentation/networking/net-modules.txt>.
-
 #      bool '  FDDI driver support' CONFIG_FDDI
 #      if [ "$CONFIG_FDDI" = "y" ]; then
 #      fi
+
+source "drivers/net/Kconfig"
+
 source "drivers/atm/Kconfig"
 
 endmenu
diff -urN a/drivers/net/Kconfig b/drivers/net/Kconfig
--- a/drivers/net/Kconfig	2002-12-24 10:45:39.000000000 +0100
+++ b/drivers/net/Kconfig	2003-01-01 22:45:57.000000000 +0100
@@ -384,7 +384,7 @@
 
 config NET_VENDOR_3COM
         bool "3COM cards"
-	depends on NET_ETHERNET
+	depends on NET_ETHERNET && (ISA || EISA || MCA || PCI)
         help
           If you have a network (Ethernet) card belonging to this class, say Y
           and read the Ethernet-HOWTO, available from
@@ -555,7 +555,7 @@
 
 config NET_VENDOR_SMC
         bool "Western Digital/SMC cards"
-	depends on NET_ETHERNET
+	depends on NET_ETHERNET && (ISA || MCA || EISA)
         help
           If you have a network (Ethernet) card belonging to this class, say Y
           and read the Ethernet-HOWTO, available from
@@ -648,7 +648,7 @@
 
 config NET_VENDOR_RACAL
         bool "Racal-Interlan (Micom) NI cards"
-	depends on NET_ETHERNET
+	depends on NET_ETHERNET && ISA
         help
           If you have a network (Ethernet) card belonging to this class, such
           as the NI5010, NI5210 or NI6210, say Y and read the Ethernet-HOWTO,
@@ -1459,7 +1459,7 @@
 
 config NET_POCKET
         bool "Pocket and portable adapters"
-	depends on NET_ETHERNET
+	depends on NET_ETHERNET && ISA
         ---help---
           Cute little network (Ethernet) devices which attach to the parallel
           port ("pocket adapters"), commonly used with laptops. If you have
@@ -1777,7 +1777,7 @@
 
 config FDDI
         bool "FDDI driver support"
-	depends on NETDEVICES
+	depends on NETDEVICES && (PCI || EISA)
         help
           Fiber Distributed Data Interface is a high speed local area network
           design; essentially a replacement for high speed Ethernet. FDDI can
@@ -1828,7 +1828,7 @@
 
 config HIPPI
         bool "HIPPI driver support (EXPERIMENTAL)"
-	depends on NETDEVICES && EXPERIMENTAL && INET
+	depends on NETDEVICES && EXPERIMENTAL && INET && PCI
         help
           HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and
           1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI
@@ -2181,7 +2181,7 @@
 
 config AIRONET4500
         tristate "Aironet 4500/4800 series adapters"
-	depends on NET_RADIO
+	depends on NET_RADIO && (PCI || ISA || PCMCIA)
         ---help---
           www.aironet.com (recently bought by Cisco) makes these 802.11 DS
           adapters.  Driver by Elmer Joandi (elmer@ylenurme.ee).
@@ -2286,7 +2286,7 @@
 
 config NET_FC
         bool "Fibre Channel driver support"
-	depends on NETDEVICES
+	depends on NETDEVICES && SCSI && PCI
         help
           Fibre Channel is a high speed serial protocol mainly used to connect
           large storage devices to the computer; it is compatible with and
diff -urN a/drivers/net/arcnet/Kconfig b/drivers/net/arcnet/Kconfig
--- a/drivers/net/arcnet/Kconfig	2002-10-31 02:33:49.000000000 +0100
+++ b/drivers/net/arcnet/Kconfig	2003-01-01 22:40:42.000000000 +0100
@@ -3,7 +3,7 @@
 #
 
 menu "ARCnet devices"
-	depends on NETDEVICES
+	depends on NETDEVICES && (ISA || PCI)
 
 config ARCNET
         tristate "ARCnet support"
diff -urN a/drivers/net/tokenring/Kconfig b/drivers/net/tokenring/Kconfig
--- a/drivers/net/tokenring/Kconfig	2002-12-08 20:06:34.000000000 +0100
+++ b/drivers/net/tokenring/Kconfig	2003-01-01 22:38:15.000000000 +0100
@@ -3,7 +3,7 @@
 #
 
 menu "Token Ring devices (depends on LLC=y)"
-	depends on NETDEVICES
+	depends on NETDEVICES && (PCI || ISA || MCA)
 
 # So far, we only have PCI, ISA, and MCA token ring devices
 config TR
@@ -91,7 +91,7 @@
 
 config TMS380TR
         tristate "Generic TMS380 Token Ring ISA/PCI adapter support"
-	depends on TR
+	depends on TR && (PCI || ISA)
         ---help---
           This driver provides generic support for token ring adapters
           based on the Texas Instruments TMS380 series chipsets.  This
diff -urN a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
--- a/drivers/net/wireless/Kconfig	2002-10-31 02:33:50.000000000 +0100
+++ b/drivers/net/wireless/Kconfig	2003-01-01 22:42:38.000000000 +0100
@@ -2,12 +2,12 @@
 # Wireless LAN device configuration
 #
 comment "Wireless ISA/PCI cards support"
-	depends on NET_RADIO
+	depends on NET_RADIO && (ISA || PCI || ALL_PPC || PCMCIA)
 
 # Good old obsolete Wavelan.
 config WAVELAN
         tristate "AT&T/Lucent old WaveLAN & DEC RoamAbout DS ISA support"
-	depends on NET_RADIO
+	depends on NET_RADIO && ISA
         ---help---
           The Lucent WaveLAN (formerly NCR and AT&T; or DEC RoamAbout DS) is
           a Radio LAN (wireless Ethernet-like Local Area Network) using the
@@ -54,7 +54,7 @@
 
 config HERMES
         tristate "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)"
-	depends on NET_RADIO
+	depends on NET_RADIO && (ALL_PPC || PCI || PCMCIA)
         ---help---
           A driver for 802.11b wireless cards based based on the "Hermes" or
           Intersil HFA384x (Prism 2) MAC controller.  This includes the vast
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue Jan 07 2003 - 22:00:15 EST