diff --git a/MAINTAINERS b/MAINTAINERS index 19bd60deb135..1cb72da76e04 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6272,6 +6272,7 @@ S: Maintained F: arch/m68k/kernel/*sun3* F: arch/m68k/sun3*/ F: arch/m68k/include/asm/sun3* +F: drivers/net/ethernet/i825xx/sun3* SUPERH M: Paul Mundt diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index b76de822b52f..7977002fc81d 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -363,64 +363,6 @@ config SH_ETH This driver supporting CPUs are: - SH7710, SH7712, SH7763, SH7619, SH7724, and SH7757. -config HAPPYMEAL - tristate "Sun Happy Meal 10/100baseT support" - depends on SBUS || PCI - select CRC32 - 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. - - To compile this driver as a module, choose M here: the module - will be called sunhme. - -config SUNBMAC - tristate "Sun BigMAC 10/100baseT support (EXPERIMENTAL)" - depends on SBUS && EXPERIMENTAL - select CRC32 - help - This driver supports the "be" interface available as an Sbus option. - This is Sun's older 100baseT Ethernet device. - - To compile this driver as a module, choose M here: the module - will be called sunbmac. - -config SUNQE - tristate "Sun QuadEthernet support" - depends on SBUS - select CRC32 - 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. - - To compile this driver as a module, choose M here: the module - will be called sunqe. - -config SUNGEM - tristate "Sun GEM support" - depends on PCI - select CRC32 - help - Support for the Sun GEM chip, aka Sun GigabitEthernet/P 2.0. See also - . - -config CASSINI - tristate "Sun Cassini support" - depends on PCI - select CRC32 - help - Support for the Sun Cassini chip, aka Sun GigaSwift Ethernet. See also - - -config SUNVNET - tristate "Sun Virtual Network support" - depends on SUN_LDOMS - help - Support for virtual network devices under Sun Logical Domains. - config BFIN_MAC tristate "Blackfin on-chip MAC support" depends on NET_ETHERNET && (BF516 || BF518 || BF526 || BF527 || BF536 || BF537) @@ -1603,14 +1545,6 @@ config MYRI10GE_DCA driver. DCA is a method for warming the CPU cache before data is used, with the intent of lessening the impact of cache misses. -config NIU - tristate "Sun Neptune 10Gbit Ethernet support" - depends on PCI - select CRC32 - help - This enables support for cards based upon Sun's - Neptune chipset. - config PASEMI_MAC tristate "PA Semi 1/10Gbit MAC" depends on PPC_PASEMI && PCI && INET diff --git a/drivers/net/Makefile b/drivers/net/Makefile index e641f703bbad..cfbb060c0c69 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -44,13 +44,6 @@ obj-$(CONFIG_PLIP) += plip.o obj-$(CONFIG_ROADRUNNER) += rrunner.o -obj-$(CONFIG_HAPPYMEAL) += sunhme.o -obj-$(CONFIG_SUNQE) += sunqe.o -obj-$(CONFIG_SUNBMAC) += sunbmac.o -obj-$(CONFIG_SUNGEM) += sungem.o sungem_phy.o -obj-$(CONFIG_CASSINI) += cassini.o -obj-$(CONFIG_SUNVNET) += sunvnet.o - obj-$(CONFIG_MACE) += mace.o obj-$(CONFIG_BMAC) += bmac.o @@ -64,7 +57,7 @@ obj-$(CONFIG_NATSEMI) += natsemi.o obj-$(CONFIG_NS83820) += ns83820.o obj-$(CONFIG_FEALNX) += fealnx.o spidernet-y += spider_net.o spider_net_ethtool.o -obj-$(CONFIG_SPIDER_NET) += spidernet.o sungem_phy.o +obj-$(CONFIG_SPIDER_NET) += spidernet.o ethernet/sun/sungem_phy.o obj-$(CONFIG_GELIC_NET) += ps3_gelic.o gelic_wireless-$(CONFIG_GELIC_WIRELESS) += ps3_gelic_wireless.o ps3_gelic-objs += ps3_gelic_net.o $(gelic_wireless-y) @@ -207,7 +200,6 @@ obj-$(CONFIG_NETCONSOLE) += netconsole.o obj-$(CONFIG_FS_ENET) += fs_enet/ -obj-$(CONFIG_NIU) += niu.o obj-$(CONFIG_VIRTIO_NET) += virtio_net.o obj-$(CONFIG_SFC) += sfc/ diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig index 7efbb7cf91a9..5edd2371c53f 100644 --- a/drivers/net/ethernet/Kconfig +++ b/drivers/net/ethernet/Kconfig @@ -21,5 +21,6 @@ source "drivers/net/ethernet/i825xx/Kconfig" source "drivers/net/ethernet/qlogic/Kconfig" source "drivers/net/ethernet/racal/Kconfig" source "drivers/net/ethernet/smsc/Kconfig" +source "drivers/net/ethernet/sun/Kconfig" endif # ETHERNET diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile index 86da8b8339e1..18d8a893d78b 100644 --- a/drivers/net/ethernet/Makefile +++ b/drivers/net/ethernet/Makefile @@ -12,3 +12,4 @@ obj-$(CONFIG_NET_VENDOR_I825XX) += i825xx/ obj-$(CONFIG_NET_VENDOR_QLOGIC) += qlogic/ obj-$(CONFIG_NET_VENDOR_RACAL) += racal/ obj-$(CONFIG_NET_VENDOR_SMSC) += smsc/ +obj-$(CONFIG_NET_VENDOR_SUN) += sun/ diff --git a/drivers/net/ethernet/sun/Kconfig b/drivers/net/ethernet/sun/Kconfig new file mode 100644 index 000000000000..87b17a7e6dfe --- /dev/null +++ b/drivers/net/ethernet/sun/Kconfig @@ -0,0 +1,86 @@ +# +# Sun network device configuration +# + +config NET_VENDOR_SUN + bool "Sun devices" + depends on SUN3 || SBUS || PCI || SUN_LDOMS + ---help--- + If you have a network (Ethernet) card belonging to this class, say + Y and read the Ethernet-HOWTO, available from + . + + Note that the answer to this question doesn't directly affect the + kernel: saying N will just cause the configurator to skip all + the questions about Sun network interfaces. If you say Y, you will be + asked for your specific card in the following questions. + +if NET_VENDOR_SUN + +config HAPPYMEAL + tristate "Sun Happy Meal 10/100baseT support" + depends on (SBUS || PCI) + select CRC32 + ---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. + + To compile this driver as a module, choose M here: the module + will be called sunhme. + +config SUNBMAC + tristate "Sun BigMAC 10/100baseT support (EXPERIMENTAL)" + depends on SBUS && EXPERIMENTAL + select CRC32 + ---help--- + This driver supports the "be" interface available as an Sbus option. + This is Sun's older 100baseT Ethernet device. + + To compile this driver as a module, choose M here: the module + will be called sunbmac. + +config SUNQE + tristate "Sun QuadEthernet support" + depends on SBUS + select CRC32 + ---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. + + To compile this driver as a module, choose M here: the module + will be called sunqe. + +config SUNGEM + tristate "Sun GEM support" + depends on PCI + select CRC32 + ---help--- + Support for the Sun GEM chip, aka Sun GigabitEthernet/P 2.0. See also + . + +config CASSINI + tristate "Sun Cassini support" + depends on PCI + select CRC32 + ---help--- + Support for the Sun Cassini chip, aka Sun GigaSwift Ethernet. See also + + +config SUNVNET + tristate "Sun Virtual Network support" + depends on SUN_LDOMS + ---help--- + Support for virtual network devices under Sun Logical Domains. + +config NIU + tristate "Sun Neptune 10Gbit Ethernet support" + depends on PCI + select CRC32 + ---help--- + This enables support for cards based upon Sun's + Neptune chipset. + +endif # NET_VENDOR_SUN diff --git a/drivers/net/ethernet/sun/Makefile b/drivers/net/ethernet/sun/Makefile new file mode 100644 index 000000000000..4f25217a75f8 --- /dev/null +++ b/drivers/net/ethernet/sun/Makefile @@ -0,0 +1,11 @@ +# +# Makefile for the Sun network device drivers. +# + +obj-$(CONFIG_HAPPYMEAL) += sunhme.o +obj-$(CONFIG_SUNQE) += sunqe.o +obj-$(CONFIG_SUNBMAC) += sunbmac.o +obj-$(CONFIG_SUNGEM) += sungem.o sungem_phy.o +obj-$(CONFIG_CASSINI) += cassini.o +obj-$(CONFIG_SUNVNET) += sunvnet.o +obj-$(CONFIG_NIU) += niu.o diff --git a/drivers/net/cassini.c b/drivers/net/ethernet/sun/cassini.c similarity index 100% rename from drivers/net/cassini.c rename to drivers/net/ethernet/sun/cassini.c diff --git a/drivers/net/cassini.h b/drivers/net/ethernet/sun/cassini.h similarity index 100% rename from drivers/net/cassini.h rename to drivers/net/ethernet/sun/cassini.h diff --git a/drivers/net/niu.c b/drivers/net/ethernet/sun/niu.c similarity index 100% rename from drivers/net/niu.c rename to drivers/net/ethernet/sun/niu.c diff --git a/drivers/net/niu.h b/drivers/net/ethernet/sun/niu.h similarity index 100% rename from drivers/net/niu.h rename to drivers/net/ethernet/sun/niu.h diff --git a/drivers/net/sunbmac.c b/drivers/net/ethernet/sun/sunbmac.c similarity index 100% rename from drivers/net/sunbmac.c rename to drivers/net/ethernet/sun/sunbmac.c diff --git a/drivers/net/sunbmac.h b/drivers/net/ethernet/sun/sunbmac.h similarity index 100% rename from drivers/net/sunbmac.h rename to drivers/net/ethernet/sun/sunbmac.h diff --git a/drivers/net/sungem.c b/drivers/net/ethernet/sun/sungem.c similarity index 100% rename from drivers/net/sungem.c rename to drivers/net/ethernet/sun/sungem.c diff --git a/drivers/net/sungem.h b/drivers/net/ethernet/sun/sungem.h similarity index 100% rename from drivers/net/sungem.h rename to drivers/net/ethernet/sun/sungem.h diff --git a/drivers/net/sungem_phy.c b/drivers/net/ethernet/sun/sungem_phy.c similarity index 100% rename from drivers/net/sungem_phy.c rename to drivers/net/ethernet/sun/sungem_phy.c diff --git a/drivers/net/sungem_phy.h b/drivers/net/ethernet/sun/sungem_phy.h similarity index 100% rename from drivers/net/sungem_phy.h rename to drivers/net/ethernet/sun/sungem_phy.h diff --git a/drivers/net/sunhme.c b/drivers/net/ethernet/sun/sunhme.c similarity index 100% rename from drivers/net/sunhme.c rename to drivers/net/ethernet/sun/sunhme.c diff --git a/drivers/net/sunhme.h b/drivers/net/ethernet/sun/sunhme.h similarity index 100% rename from drivers/net/sunhme.h rename to drivers/net/ethernet/sun/sunhme.h diff --git a/drivers/net/sunqe.c b/drivers/net/ethernet/sun/sunqe.c similarity index 100% rename from drivers/net/sunqe.c rename to drivers/net/ethernet/sun/sunqe.c diff --git a/drivers/net/sunqe.h b/drivers/net/ethernet/sun/sunqe.h similarity index 100% rename from drivers/net/sunqe.h rename to drivers/net/ethernet/sun/sunqe.h diff --git a/drivers/net/sunvnet.c b/drivers/net/ethernet/sun/sunvnet.c similarity index 100% rename from drivers/net/sunvnet.c rename to drivers/net/ethernet/sun/sunvnet.c diff --git a/drivers/net/sunvnet.h b/drivers/net/ethernet/sun/sunvnet.h similarity index 100% rename from drivers/net/sunvnet.h rename to drivers/net/ethernet/sun/sunvnet.h diff --git a/drivers/net/spider_net.h b/drivers/net/spider_net.h index 020f64a8fcf7..a891ad00054b 100644 --- a/drivers/net/spider_net.h +++ b/drivers/net/spider_net.h @@ -27,7 +27,7 @@ #define VERSION "2.0 B" -#include "sungem_phy.h" +#include "./ethernet/sun/sungem_phy.h" extern int spider_net_stop(struct net_device *netdev); extern int spider_net_open(struct net_device *netdev);