[haiku-commits] haiku: hrev52694 - in src/add-ons/kernel/drivers/network: vlance rtl81xx/dev/mii pcnet . rtl81xx

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 27 Dec 2018 14:16:32 -0500 (EST)

hrev52694 adds 9 changesets to branch 'master'
old head: 360f405d3d6a16a84cababff847177dddfa83a40
new head: 125df15288865dca19c895d64dd6fc64655908fe
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=125df1528886+%5E360f405d3d6a

----------------------------------------------------------------------------

3fcac9ac04ec: marvell_yukon: Clean up Jamfiles.

148d1b2c697c: nforce: Clean up Jamfiles.

cb5334b37b42: pcnet: Clean up Jamfiles.

df1dd1f8a8b9: rdc: Clean up Jamfiles.

72d64e3cb1bd: rtl81xx: Clean up Jamfiles.

34b46b45482f: rtl8139: Clean up Jamfiles.

9b7ef9959946: syskonnect: Clean up Jamfiles.

3592a2eba4f8: vt612x: Clean up Jamfiles.

125df1528886: drivers/vlance: Remove.
  
  Never included in the build, and entirely superseded by the "pcnet"
  driver from FreeBSD.

                              [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]

----------------------------------------------------------------------------

48 files changed, 468 insertions(+), 1512 deletions(-)
build/jam/images/NetBootArchive                  |    1 -
src/add-ons/kernel/drivers/network/Jamfile       |    1 -
.../kernel/drivers/network/marvell_yukon/Jamfile |   26 +-
.../drivers/network/marvell_yukon/dev/Jamfile    |    4 -
.../network/marvell_yukon/dev/mii/Jamfile        |   21 -
.../network/marvell_yukon/dev/msk/Jamfile        |   15 -
.../network/marvell_yukon/{dev/msk => }/glue.c   |    0
.../kernel/drivers/network/nforce/Jamfile        |   26 +-
.../kernel/drivers/network/nforce/dev/Jamfile    |    4 -
.../drivers/network/nforce/dev/mii/Jamfile       |   21 -
.../drivers/network/nforce/dev/nfe/Jamfile       |   16 -
.../drivers/network/nforce/{dev/nfe => }/glue.c  |    0
src/add-ons/kernel/drivers/network/pcnet/Jamfile |   34 +-
.../kernel/drivers/network/pcnet/dev/Jamfile     |    5 -
.../kernel/drivers/network/pcnet/dev/le/Jamfile  |   19 -
.../kernel/drivers/network/pcnet/dev/mii/Jamfile |   23 -
.../kernel/drivers/network/pcnet/dev/pcn/Jamfile |   15 -
.../drivers/network/pcnet/{dev/le => }/glue.c    |    0
.../network/pcnet/{dev/pcn/glue.c => glue_pcn.c} |    0
src/add-ons/kernel/drivers/network/rdc/Jamfile   |   24 +-
.../kernel/drivers/network/rdc/dev/Jamfile       |    5 -
.../kernel/drivers/network/rdc/dev/mii/Jamfile   |   19 -
.../kernel/drivers/network/rdc/dev/vte/Jamfile   |   15 -
.../drivers/network/rdc/{dev/vte => }/glue.c     |    0
.../kernel/drivers/network/rtl8139/Jamfile       |   24 +-
.../kernel/drivers/network/rtl8139/dev/Jamfile   |    4 -
.../drivers/network/rtl8139/dev/mii/Jamfile      |   19 -
.../drivers/network/rtl8139/dev/rl/Jamfile       |   16 -
.../drivers/network/rtl8139/{dev/rl => }/glue.c  |    0
.../kernel/drivers/network/rtl81xx/Jamfile       |   25 +-
.../kernel/drivers/network/rtl81xx/dev/Jamfile   |    4 -
.../drivers/network/rtl81xx/dev/mii/Jamfile      |   24 -
.../drivers/network/rtl81xx/dev/mii/rlphy.c      |  264 +++++
.../drivers/network/rtl81xx/dev/re/Jamfile       |   15 -
.../drivers/network/rtl81xx/{dev/re => }/glue.c  |    0
.../kernel/drivers/network/syskonnect/Jamfile    |   27 +-
.../drivers/network/syskonnect/dev/Jamfile       |    4 -
.../drivers/network/syskonnect/dev/mii/Jamfile   |   24 -
.../drivers/network/syskonnect/dev/sk/Jamfile    |   15 -
.../network/syskonnect/{dev/sk => }/glue.c       |    0
.../kernel/drivers/network/vlance/Jamfile        |   10 -
.../kernel/drivers/network/vlance/vlance.c       | 1045 ------------------
.../kernel/drivers/network/vlance/vlance.h       |   95 --
.../kernel/drivers/network/vt612x/Jamfile        |   26 +-
.../kernel/drivers/network/vt612x/dev/Jamfile    |    4 -
.../drivers/network/vt612x/dev/mii/Jamfile       |   22 -
.../drivers/network/vt612x/dev/vge/Jamfile       |   19 -
.../drivers/network/vt612x/{dev/vge => }/glue.c  |    0

############################################################################

Commit:      3fcac9ac04ec02a676e50074b57446b87e828da6
URL:         https://git.haiku-os.org/haiku/commit/?id=3fcac9ac04ec
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 02:32:57 2018 UTC

marvell_yukon: Clean up Jamfiles.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/marvell_yukon/Jamfile 
b/src/add-ons/kernel/drivers/network/marvell_yukon/Jamfile
index 2fa19c677d..1b5dfa2090 100644
--- a/src/add-ons/kernel/drivers/network/marvell_yukon/Jamfile
+++ b/src/add-ons/kernel/drivers/network/marvell_yukon/Jamfile
@@ -1,3 +1,27 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network marvell_yukon ;
 
-SubInclude HAIKU_TOP src add-ons kernel drivers network marvell_yukon dev ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
+       : true ;
+UsePrivateHeaders net system ;
+UsePrivateKernelHeaders ;
+
+SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
+
+UseHeaders [ FDirName $(SUBDIR) ] : true ;
+
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev msk ] ;
+
+KernelAddon marvell_yukon :
+       glue.c
+       ukphy.c
+       ukphy_subr.c
+       e1000phy.c
+       if_msk.c
+       : libfreebsd_network.a
+       ;
+
+ObjectHdrs [ FGristFiles ukphy$(SUFOBJ) e1000phy$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles ukphy.c e1000phy.c ] : 
<src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/marvell_yukon/dev/Jamfile
deleted file mode 100644
index 4d8b72ee96..0000000000
--- a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/Jamfile
+++ /dev/null
@@ -1,4 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network marvell_yukon dev ;
-
-SubInclude HAIKU_TOP src add-ons kernel drivers network marvell_yukon dev mii ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network marvell_yukon dev msk ;
diff --git a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/marvell_yukon/dev/mii/Jamfile
deleted file mode 100644
index 5f9d3f5d42..0000000000
--- a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/mii/Jamfile
+++ /dev/null
@@ -1,21 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network marvell_yukon dev mii ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelStaticLibrary marvell_yukon_mii.a
-       :
-       e1000phy.c
-       ukphy.c
-       ukphy_subr.c
-       ;
-
-ObjectHdrs [ FGristFiles e1000phy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles e1000phy.c ] : 
<src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/Jamfile 
b/src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/Jamfile
deleted file mode 100644
index 510fb28357..0000000000
--- a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/Jamfile
+++ /dev/null
@@ -1,15 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network marvell_yukon dev msk ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelAddon marvell_yukon :
-       if_msk.c
-       glue.c
-       : marvell_yukon_mii.a libfreebsd_network.a
-       ;
diff --git a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/glue.c 
b/src/add-ons/kernel/drivers/network/marvell_yukon/glue.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/glue.c
rename to src/add-ons/kernel/drivers/network/marvell_yukon/glue.c

############################################################################

Commit:      148d1b2c697c57af9e8fa17ce00771e767400068
URL:         https://git.haiku-os.org/haiku/commit/?id=148d1b2c697c
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 18:23:49 2018 UTC

nforce: Clean up Jamfiles.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/nforce/Jamfile 
b/src/add-ons/kernel/drivers/network/nforce/Jamfile
index 4510eae910..5c797a4a84 100644
--- a/src/add-ons/kernel/drivers/network/nforce/Jamfile
+++ b/src/add-ons/kernel/drivers/network/nforce/Jamfile
@@ -1,3 +1,27 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network nforce ;
 
-SubInclude HAIKU_TOP src add-ons kernel drivers network nforce dev ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
+       : true ;
+UsePrivateHeaders net system ;
+UsePrivateKernelHeaders ;
+
+SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
+
+UseHeaders [ FDirName $(SUBDIR) ] : true ;
+
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev nfe ] ;
+
+KernelAddon nforce :
+       glue.c
+       ukphy.c
+       ukphy_subr.c
+       ciphy.c
+       if_nfe.c
+       : libfreebsd_network.a
+       ;
+
+ObjectHdrs [ FGristFiles ukphy$(SUFOBJ) ciphy$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles ukphy.c ciphy.c ] : 
<src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/nforce/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/nforce/dev/Jamfile
deleted file mode 100644
index 2e896d5050..0000000000
--- a/src/add-ons/kernel/drivers/network/nforce/dev/Jamfile
+++ /dev/null
@@ -1,4 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network nforce dev ;
-
-SubInclude HAIKU_TOP src add-ons kernel drivers network nforce dev mii ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network nforce dev nfe ;
diff --git a/src/add-ons/kernel/drivers/network/nforce/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/nforce/dev/mii/Jamfile
deleted file mode 100644
index ab18fbad60..0000000000
--- a/src/add-ons/kernel/drivers/network/nforce/dev/mii/Jamfile
+++ /dev/null
@@ -1,21 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network nforce dev mii ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelStaticLibrary nforce_mii.a
-       :
-       ciphy.c
-       ukphy.c
-       ukphy_subr.c
-       ;
-
-ObjectHdrs [ FGristFiles ciphy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles ciphy.c ] : <src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/nforce/dev/nfe/Jamfile 
b/src/add-ons/kernel/drivers/network/nforce/dev/nfe/Jamfile
deleted file mode 100644
index bef39f521e..0000000000
--- a/src/add-ons/kernel/drivers/network/nforce/dev/nfe/Jamfile
+++ /dev/null
@@ -1,16 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network nforce dev nfe ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelAddon nforce :
-       if_nfe.c
-
-       glue.c
-       : nforce_mii.a libfreebsd_network.a
-       ;
diff --git a/src/add-ons/kernel/drivers/network/nforce/dev/nfe/glue.c 
b/src/add-ons/kernel/drivers/network/nforce/glue.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/nforce/dev/nfe/glue.c
rename to src/add-ons/kernel/drivers/network/nforce/glue.c

############################################################################

Commit:      cb5334b37b42b02b59deed2c2dc89ffda23f101a
URL:         https://git.haiku-os.org/haiku/commit/?id=cb5334b37b42
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 18:24:00 2018 UTC

pcnet: Clean up Jamfiles.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/pcnet/Jamfile 
b/src/add-ons/kernel/drivers/network/pcnet/Jamfile
index 0b0ce8c5a2..92f0fcdd9f 100644
--- a/src/add-ons/kernel/drivers/network/pcnet/Jamfile
+++ b/src/add-ons/kernel/drivers/network/pcnet/Jamfile
@@ -1,3 +1,35 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network pcnet ;
 
-SubInclude HAIKU_TOP src add-ons kernel drivers network pcnet dev ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
+       : true ;
+UsePrivateHeaders net system ;
+UsePrivateKernelHeaders ;
+
+SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 _XOPEN_SOURCE ] ;
+
+UseHeaders [ FDirName $(SUBDIR) ] : true ;
+
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev pcn ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev le ] ;
+
+KernelAddon pcnet :
+       glue.c
+       glue_pcn.c
+       ukphy.c
+       ukphy_subr.c
+       nsphy.c
+       nsphyter.c
+       if_pcn.c
+       if_le_pci.c
+       am7990.c
+       am79900.c
+       lance.c
+       : libfreebsd_network.a
+       ;
+
+ObjectHdrs [ FGristFiles ukphy$(SUFOBJ) nsphy$(SUFOBJ) nsphyter$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles ukphy.c nsphy.c nsphyter.c ] : 
<src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/pcnet/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/pcnet/dev/Jamfile
deleted file mode 100644
index 7dc10711ba..0000000000
--- a/src/add-ons/kernel/drivers/network/pcnet/dev/Jamfile
+++ /dev/null
@@ -1,5 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network pcnet dev ;
-
-SubInclude HAIKU_TOP src add-ons kernel drivers network pcnet dev le ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network pcnet dev mii ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network pcnet dev pcn ;
diff --git a/src/add-ons/kernel/drivers/network/pcnet/dev/le/Jamfile 
b/src/add-ons/kernel/drivers/network/pcnet/dev/le/Jamfile
deleted file mode 100644
index 102571ef23..0000000000
--- a/src/add-ons/kernel/drivers/network/pcnet/dev/le/Jamfile
+++ /dev/null
@@ -1,19 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network pcnet dev le ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelAddon pcnet :
-       am7990.c
-       am79900.c
-       if_le_pci.c
-       lance.c
-       glue.c
-       : pcnet_pcn.a pcnet_mii.a libfreebsd_network.a
-       ;
diff --git a/src/add-ons/kernel/drivers/network/pcnet/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/pcnet/dev/mii/Jamfile
deleted file mode 100644
index 00cd28b6bb..0000000000
--- a/src/add-ons/kernel/drivers/network/pcnet/dev/mii/Jamfile
+++ /dev/null
@@ -1,23 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network pcnet dev mii ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelStaticLibrary pcnet_mii.a
-       :
-       nsphy.c
-       nsphyter.c
-       ukphy.c
-       ukphy_subr.c
-       ;
-
-ObjectHdrs [ FGristFiles nsphy$(SUFOBJ) nsphyter$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles nsphy.c nsphyter.c ]
-       : <src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/pcnet/dev/pcn/Jamfile 
b/src/add-ons/kernel/drivers/network/pcnet/dev/pcn/Jamfile
deleted file mode 100644
index c99ef08899..0000000000
--- a/src/add-ons/kernel/drivers/network/pcnet/dev/pcn/Jamfile
+++ /dev/null
@@ -1,15 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network pcnet dev pcn ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 _XOPEN_SOURCE ] ;
-
-KernelStaticLibrary pcnet_pcn.a
-       : 
-       if_pcn.c
-       glue.c
-       ;
diff --git a/src/add-ons/kernel/drivers/network/pcnet/dev/le/glue.c 
b/src/add-ons/kernel/drivers/network/pcnet/glue.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/pcnet/dev/le/glue.c
rename to src/add-ons/kernel/drivers/network/pcnet/glue.c
diff --git a/src/add-ons/kernel/drivers/network/pcnet/dev/pcn/glue.c 
b/src/add-ons/kernel/drivers/network/pcnet/glue_pcn.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/pcnet/dev/pcn/glue.c
rename to src/add-ons/kernel/drivers/network/pcnet/glue_pcn.c

############################################################################

Commit:      df1dd1f8a8b9495c46fc95a920371a2c498b4de3
URL:         https://git.haiku-os.org/haiku/commit/?id=df1dd1f8a8b9
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 18:45:55 2018 UTC

rdc: Clean up Jamfiles.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/rdc/Jamfile 
b/src/add-ons/kernel/drivers/network/rdc/Jamfile
index 1e4efab397..c400097c22 100644
--- a/src/add-ons/kernel/drivers/network/rdc/Jamfile
+++ b/src/add-ons/kernel/drivers/network/rdc/Jamfile
@@ -1,3 +1,25 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network rdc ;
 
-SubInclude HAIKU_TOP src add-ons kernel drivers network rdc dev ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
+       : true ;
+UsePrivateHeaders net system ;
+UsePrivateKernelHeaders ;
+
+SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
+
+UseHeaders [ FDirName $(SUBDIR) ] : true ;
+
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev vte ] ;
+
+KernelAddon rdc :
+       glue.c
+       rdcphy.c
+       if_vte.c
+       : libfreebsd_network.a
+       ;
+
+ObjectHdrs [ FGristFiles rdcphy$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles rdcphy.c ] : <src!libs!compat!freebsd_network>miidevs.h 
;
diff --git a/src/add-ons/kernel/drivers/network/rdc/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/rdc/dev/Jamfile
deleted file mode 100644
index 66483d3554..0000000000
--- a/src/add-ons/kernel/drivers/network/rdc/dev/Jamfile
+++ /dev/null
@@ -1,5 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rdc dev ;
-
-SubInclude HAIKU_TOP src add-ons kernel drivers network rdc dev mii ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network rdc dev vte ;
-
diff --git a/src/add-ons/kernel/drivers/network/rdc/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/rdc/dev/mii/Jamfile
deleted file mode 100644
index ebbbf7434d..0000000000
--- a/src/add-ons/kernel/drivers/network/rdc/dev/mii/Jamfile
+++ /dev/null
@@ -1,19 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rdc dev mii ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelStaticLibrary rdc_mii.a
-       :
-       rdcphy.c
-       ;
-
-ObjectHdrs [ FGristFiles rdcphy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles rdcphy.c ] : <src!libs!compat!freebsd_network>miidevs.h 
;
diff --git a/src/add-ons/kernel/drivers/network/rdc/dev/vte/Jamfile 
b/src/add-ons/kernel/drivers/network/rdc/dev/vte/Jamfile
deleted file mode 100644
index a1b59e920c..0000000000
--- a/src/add-ons/kernel/drivers/network/rdc/dev/vte/Jamfile
+++ /dev/null
@@ -1,15 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rdc dev vte ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelAddon rdc :
-       if_vte.c
-       glue.c
-       : rdc_mii.a libfreebsd_network.a
-       ;
diff --git a/src/add-ons/kernel/drivers/network/rdc/dev/vte/glue.c 
b/src/add-ons/kernel/drivers/network/rdc/glue.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/rdc/dev/vte/glue.c
rename to src/add-ons/kernel/drivers/network/rdc/glue.c

############################################################################

Commit:      72d64e3cb1bd80d37e22a9715cebb600c8f303f4
URL:         https://git.haiku-os.org/haiku/commit/?id=72d64e3cb1bd
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 18:50:26 2018 UTC

rtl81xx: Clean up Jamfiles.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/rtl81xx/Jamfile 
b/src/add-ons/kernel/drivers/network/rtl81xx/Jamfile
index 22af38e7fd..a76ce49072 100644
--- a/src/add-ons/kernel/drivers/network/rtl81xx/Jamfile
+++ b/src/add-ons/kernel/drivers/network/rtl81xx/Jamfile
@@ -1,3 +1,26 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network rtl81xx ;
 
-HaikuSubInclude dev ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
+       : true ;
+UsePrivateHeaders net system ;
+UsePrivateKernelHeaders ;
+
+SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
+
+UseHeaders [ FDirName $(SUBDIR) ] : true ;
+
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev re ] ;
+
+KernelAddon rtl81xx :
+       glue.c
+       rgephy.c
+       rlphy.c
+       if_re.c
+       : libfreebsd_network.a
+       ;
+
+ObjectHdrs [ FGristFiles rgephy$(SUFOBJ) rlphy$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles rgephy.c rlphy.c ] : 
<src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/rtl81xx/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/rtl81xx/dev/Jamfile
deleted file mode 100644
index 895b84dbaa..0000000000
--- a/src/add-ons/kernel/drivers/network/rtl81xx/dev/Jamfile
+++ /dev/null
@@ -1,4 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rtl81xx dev ;
-
-HaikuSubInclude mii ;
-HaikuSubInclude re ;
diff --git a/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/Jamfile
deleted file mode 100644
index 831c716c76..0000000000
--- a/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/Jamfile
+++ /dev/null
@@ -1,24 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rtl81xx dev mii ;
-
-UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
-       : true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelStaticLibrary rtl81xx_mii.a :
-       rgephy.c
-       rlphy.c
-;
-
-SEARCH on [ FGristFiles rlphy.c ] = [ FDirName $(HAIKU_TOP) src add-ons kernel
-               drivers network rtl8139 dev mii ] ;
-
-ObjectHdrs [ FGristFiles rgephy$(SUFOBJ) rlphy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles rgephy.c rlphy.c ]
-       : <src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/rlphy.c 
b/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/rlphy.c
new file mode 100644
index 0000000000..2afd3e0ecc
--- /dev/null
+++ b/src/add-ons/kernel/drivers/network/rtl81xx/dev/mii/rlphy.c
@@ -0,0 +1,264 @@
+/*-
+ * Copyright (c) 1997, 1998, 1999
+ *     Bill Paul <wpaul@xxxxxxxxxxxxxxxx>.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by Bill Paul.
+ * 4. Neither the name of the author nor the names of any co-contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+/*
+ * driver for RealTek 8139 internal PHYs
+ */
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+#include <sys/socket.h>
+#include <sys/bus.h>
+#include <sys/taskqueue.h>     /* XXXGL: if_rlreg.h contamination */
+
+#include <net/if.h>
+#include <net/if_arp.h>
+#include <net/if_media.h>
+
+#include <dev/mii/mii.h>
+#include <dev/mii/miivar.h>
+#include "miidevs.h"
+
+#include <machine/bus.h>
+#include <dev/rl/if_rlreg.h>
+
+#include "miibus_if.h"
+
+static int rlphy_probe(device_t);
+static int rlphy_attach(device_t);
+
+static device_method_t rlphy_methods[] = {
+       /* device interface */
+       DEVMETHOD(device_probe,         rlphy_probe),
+       DEVMETHOD(device_attach,        rlphy_attach),
+       DEVMETHOD(device_detach,        mii_phy_detach),
+       DEVMETHOD(device_shutdown,      bus_generic_shutdown),
+       DEVMETHOD_END
+};
+
+static devclass_t rlphy_devclass;
+
+static driver_t rlphy_driver = {
+       "rlphy",
+       rlphy_methods,
+       sizeof(struct mii_softc)
+};
+
+DRIVER_MODULE(rlphy, miibus, rlphy_driver, rlphy_devclass, 0, 0);
+
+static int     rlphy_service(struct mii_softc *, struct mii_data *, int);
+static void    rlphy_status(struct mii_softc *);
+
+/*
+ * RealTek internal PHYs don't have vendor/device ID registers;
+ * re(4) and rl(4) fake up a return value of all zeros.
+ */
+static const struct mii_phydesc rlintphys[] = {
+       { 0, 0, "RealTek internal media interface" },
+       MII_PHY_END
+};
+
+static const struct mii_phydesc rlphys[] = {
+       MII_PHY_DESC(yyREALTEK, RTL8201L),
+       MII_PHY_DESC(REALTEK, RTL8201E),
+       MII_PHY_DESC(xxICPLUS, IP101),
+       MII_PHY_END
+};
+
+static const struct mii_phy_funcs rlphy_funcs = {
+       rlphy_service,
+       rlphy_status,
+       mii_phy_reset
+};
+
+static int
+rlphy_probe(device_t dev)
+{
+       int rv;
+
+       rv = mii_phy_dev_probe(dev, rlphys, BUS_PROBE_DEFAULT);
+#ifdef __HAIKU__
+       if (rv == BUS_PROBE_DEFAULT)
+               return (rv);
+#else
+       if (rv <= 0)
+               return (rv);
+#endif
+
+       if (mii_dev_mac_match(dev, "rl") || mii_dev_mac_match(dev, "re"))
+               return (mii_phy_dev_probe(dev, rlintphys, BUS_PROBE_DEFAULT));
+       return (ENXIO);
+}
+
+static int
+rlphy_attach(device_t dev)
+{
+
+       /*
+        * The RealTek PHY can never be isolated.
+        */
+       mii_phy_dev_attach(dev, MIIF_NOISOLATE | MIIF_NOMANPAUSE,
+           &rlphy_funcs, 1);
+       return (0);
+}
+
+static int
+rlphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
+{
+
+       switch (cmd) {
+       case MII_POLLSTAT:
+               break;
+
+       case MII_MEDIACHG:
+               mii_phy_setmedia(sc);
+               break;
+
+       case MII_TICK:
+               /*
+                * The RealTek PHY's autonegotiation doesn't need to be
+                * kicked; it continues in the background.
+                */
+               break;
+       }
+
+       /* Update the media status. */
+       PHY_STATUS(sc);
+
+       /* Callback if something changed. */
+       mii_phy_update(sc, cmd);
+       return (0);
+}
+
+static void
+rlphy_status(struct mii_softc *phy)
+{
+       struct mii_data *mii = phy->mii_pdata;
+       struct ifmedia_entry *ife = mii->mii_media.ifm_cur;
+       int bmsr, bmcr, anlpar;
+
+       mii->mii_media_status = IFM_AVALID;
+       mii->mii_media_active = IFM_ETHER;
+
+       bmsr = PHY_READ(phy, MII_BMSR) | PHY_READ(phy, MII_BMSR);
+       if (bmsr & BMSR_LINK)
+               mii->mii_media_status |= IFM_ACTIVE;
+
+       bmcr = PHY_READ(phy, MII_BMCR);
+       if (bmcr & BMCR_ISO) {
+               mii->mii_media_active |= IFM_NONE;
+               mii->mii_media_status = 0;
+               return;
+       }
+
+       if (bmcr & BMCR_LOOP)
+               mii->mii_media_active |= IFM_LOOP;
+
+       if (bmcr & BMCR_AUTOEN) {
+               /*
+                * NWay autonegotiation takes the highest-order common
+                * bit of the ANAR and ANLPAR (i.e. best media advertised
+                * both by us and our link partner).
+                */
+               if ((bmsr & BMSR_ACOMP) == 0) {
+                       /* Erg, still trying, I guess... */
+                       mii->mii_media_active |= IFM_NONE;
+                       return;
+               }
+
+               if ((anlpar = PHY_READ(phy, MII_ANAR) &
+                   PHY_READ(phy, MII_ANLPAR))) {
+                       if (anlpar & ANLPAR_TX_FD)
+                               mii->mii_media_active |= IFM_100_TX|IFM_FDX;
+                       else if (anlpar & ANLPAR_T4)
+                               mii->mii_media_active |= IFM_100_T4|IFM_HDX;
+                       else if (anlpar & ANLPAR_TX)
+                               mii->mii_media_active |= IFM_100_TX|IFM_HDX;
+                       else if (anlpar & ANLPAR_10_FD)
+                               mii->mii_media_active |= IFM_10_T|IFM_FDX;
+                       else if (anlpar & ANLPAR_10)
+                               mii->mii_media_active |= IFM_10_T|IFM_HDX;
+                       else
+                               mii->mii_media_active |= IFM_NONE;
+                       if ((mii->mii_media_active & IFM_FDX) != 0)
+                               mii->mii_media_active |=
+                                   mii_phy_flowstatus(phy);
+                       return;
+               }
+               /*
+                * If the other side doesn't support NWAY, then the
+                * best we can do is determine if we have a 10Mbps or
+                * 100Mbps link. There's no way to know if the link
+                * is full or half duplex, so we default to half duplex
+                * and hope that the user is clever enough to manually
+                * change the media settings if we're wrong.
+                */
+
+               /*
+                * The RealTek PHY supports non-NWAY link speed
+                * detection, however it does not report the link
+                * detection results via the ANLPAR or BMSR registers.
+                * (What? RealTek doesn't do things the way everyone
+                * else does? I'm just shocked, shocked I tell you.)
+                * To determine the link speed, we have to do one
+                * of two things:
+                *
+                * - If this is a standalone RealTek RTL8201(L) or
+                *   workalike PHY, we can determine the link speed by
+                *   testing bit 0 in the magic, vendor-specific register
+                *   at offset 0x19.
+                *
+                * - If this is a RealTek MAC with integrated PHY, we
+                *   can test the 'SPEED10' bit of the MAC's media status
+                *   register.
+                */
+               if (!(phy->mii_mpd_model == 0 && phy->mii_mpd_rev == 0)) {
+                       if (PHY_READ(phy, 0x0019) & 0x01)
+                               mii->mii_media_active |= IFM_100_TX;
+                       else
+                               mii->mii_media_active |= IFM_10_T;
+               } else {
+                       if (PHY_READ(phy, RL_MEDIASTAT) &
+                           RL_MEDIASTAT_SPEED10)
+                               mii->mii_media_active |= IFM_10_T;
+                       else
+                               mii->mii_media_active |= IFM_100_TX;
+               }
+               mii->mii_media_active |= IFM_HDX;
+       } else
+               mii->mii_media_active = ife->ifm_media;
+}
diff --git a/src/add-ons/kernel/drivers/network/rtl81xx/dev/re/Jamfile 
b/src/add-ons/kernel/drivers/network/rtl81xx/dev/re/Jamfile
deleted file mode 100644
index 9e7cc8a853..0000000000
--- a/src/add-ons/kernel/drivers/network/rtl81xx/dev/re/Jamfile
+++ /dev/null
@@ -1,15 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rtl81xx dev re ;
-
-UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelAddon rtl81xx :
-       if_re.c
-       glue.c
-       : rtl81xx_mii.a libfreebsd_network.a
-;
diff --git a/src/add-ons/kernel/drivers/network/rtl81xx/dev/re/glue.c 
b/src/add-ons/kernel/drivers/network/rtl81xx/glue.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/rtl81xx/dev/re/glue.c
rename to src/add-ons/kernel/drivers/network/rtl81xx/glue.c

############################################################################

Commit:      34b46b45482f2ffe7d1dc22f7b62543e4d35e367
URL:         https://git.haiku-os.org/haiku/commit/?id=34b46b45482f
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 19:02:22 2018 UTC

rtl8139: Clean up Jamfiles.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/rtl8139/Jamfile 
b/src/add-ons/kernel/drivers/network/rtl8139/Jamfile
index 4e91dc9359..c392f09a51 100644
--- a/src/add-ons/kernel/drivers/network/rtl8139/Jamfile
+++ b/src/add-ons/kernel/drivers/network/rtl8139/Jamfile
@@ -1,3 +1,25 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network rtl8139 ;
 
-HaikuSubInclude dev ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
+       : true ;
+UsePrivateHeaders net system ;
+UsePrivateKernelHeaders ;
+
+SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
+
+UseHeaders [ FDirName $(SUBDIR) ] : true ;
+
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev rl ] ;
+
+KernelAddon rtl8139 :
+       glue.c
+       rlphy.c
+       if_rl.c
+       : libfreebsd_network.a
+       ;
+
+ObjectHdrs [ FGristFiles rlphy$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles rlphy.c ] : <src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/rtl8139/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/rtl8139/dev/Jamfile
deleted file mode 100644
index 3656dc3671..0000000000
--- a/src/add-ons/kernel/drivers/network/rtl8139/dev/Jamfile
+++ /dev/null
@@ -1,4 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rtl8139 dev ;
-
-HaikuSubInclude mii ;
-HaikuSubInclude rl ;
diff --git a/src/add-ons/kernel/drivers/network/rtl8139/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/rtl8139/dev/mii/Jamfile
deleted file mode 100644
index d5cca5ff8d..0000000000
--- a/src/add-ons/kernel/drivers/network/rtl8139/dev/mii/Jamfile
+++ /dev/null
@@ -1,19 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rtl8139 dev mii ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
-       : true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelStaticLibrary rtl8139_mii.a :
-       rlphy.c
-;
-
-ObjectHdrs [ FGristFiles rlphy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles rlphy.c ] : <src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/rtl8139/dev/rl/Jamfile 
b/src/add-ons/kernel/drivers/network/rtl8139/dev/rl/Jamfile
deleted file mode 100644
index 9b3aa1ec7a..0000000000
--- a/src/add-ons/kernel/drivers/network/rtl8139/dev/rl/Jamfile
+++ /dev/null
@@ -1,16 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network rtl8139 dev rl ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelAddon rtl8139 :
-       if_rl.c
-       glue.c
-       : rtl8139_mii.a libfreebsd_network.a
-       ;
-
diff --git a/src/add-ons/kernel/drivers/network/rtl8139/dev/rl/glue.c 
b/src/add-ons/kernel/drivers/network/rtl8139/glue.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/rtl8139/dev/rl/glue.c
rename to src/add-ons/kernel/drivers/network/rtl8139/glue.c

############################################################################

Commit:      9b7ef995994632d6fea18e1bc819c53ea1ad64f1
URL:         https://git.haiku-os.org/haiku/commit/?id=9b7ef9959946
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 19:09:35 2018 UTC

syskonnect: Clean up Jamfiles.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/syskonnect/Jamfile 
b/src/add-ons/kernel/drivers/network/syskonnect/Jamfile
index a21973d2e4..b5e1db2f24 100644
--- a/src/add-ons/kernel/drivers/network/syskonnect/Jamfile
+++ b/src/add-ons/kernel/drivers/network/syskonnect/Jamfile
@@ -1,3 +1,28 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network syskonnect ;
 
-SubInclude HAIKU_TOP src add-ons kernel drivers network syskonnect dev ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
+       : true ;
+UsePrivateHeaders net system ;
+UsePrivateKernelHeaders ;
+
+SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
+
+UseHeaders [ FDirName $(SUBDIR) ] : true ;
+
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev sk ] ;
+
+KernelAddon syskonnect :
+       glue.c
+       e1000phy.c
+       xmphy.c
+       ukphy.c
+       ukphy_subr.c
+       if_sk.c
+       : libfreebsd_network.a
+       ;
+
+ObjectHdrs [ FGristFiles e1000phy$(SUFOBJ) xmphy$(SUFOBJ) ukphy$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles e1000phy.c xmphy.c ukphy.c ] : 
<src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/syskonnect/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/syskonnect/dev/Jamfile
deleted file mode 100644
index ea9845d7a5..0000000000
--- a/src/add-ons/kernel/drivers/network/syskonnect/dev/Jamfile
+++ /dev/null
@@ -1,4 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network syskonnect dev ;
-
-SubInclude HAIKU_TOP src add-ons kernel drivers network syskonnect dev mii ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network syskonnect dev sk ;
diff --git a/src/add-ons/kernel/drivers/network/syskonnect/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/syskonnect/dev/mii/Jamfile
deleted file mode 100644
index 68fd0ce984..0000000000
--- a/src/add-ons/kernel/drivers/network/syskonnect/dev/mii/Jamfile
+++ /dev/null
@@ -1,24 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network syskonnect dev mii ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelStaticLibrary syskonnect_mii.a
-       :
-       xmphy.c
-       e1000phy.c
-       ukphy.c
-       ukphy_subr.c
-       ;
-
-ObjectHdrs [ FGristFiles e1000phy$(SUFOBJ) ukphy$(SUFOBJ) xmphy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles e1000phy.c ukphy.c xmphy.c ]
-       : <src!libs!compat!freebsd_network>miidevs.h ;
-
diff --git a/src/add-ons/kernel/drivers/network/syskonnect/dev/sk/Jamfile 
b/src/add-ons/kernel/drivers/network/syskonnect/dev/sk/Jamfile
deleted file mode 100644
index 29cdcf34a3..0000000000
--- a/src/add-ons/kernel/drivers/network/syskonnect/dev/sk/Jamfile
+++ /dev/null
@@ -1,15 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network syskonnect dev sk ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelAddon syskonnect :
-       if_sk.c
-       glue.c
-       : syskonnect_mii.a libfreebsd_network.a
-       ;
diff --git a/src/add-ons/kernel/drivers/network/syskonnect/dev/sk/glue.c 
b/src/add-ons/kernel/drivers/network/syskonnect/glue.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/syskonnect/dev/sk/glue.c
rename to src/add-ons/kernel/drivers/network/syskonnect/glue.c

############################################################################

Commit:      3592a2eba4f8041b310f152393932947eb1b0ae1
URL:         https://git.haiku-os.org/haiku/commit/?id=3592a2eba4f8
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 19:11:53 2018 UTC

vt612x: Clean up Jamfiles.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/vt612x/Jamfile 
b/src/add-ons/kernel/drivers/network/vt612x/Jamfile
index 9490443d85..f12e9f2e4d 100644
--- a/src/add-ons/kernel/drivers/network/vt612x/Jamfile
+++ b/src/add-ons/kernel/drivers/network/vt612x/Jamfile
@@ -1,3 +1,27 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network vt612x ;
 
-SubInclude HAIKU_TOP src add-ons kernel drivers network vt612x dev ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
+       : true ;
+UsePrivateHeaders net system ;
+UsePrivateKernelHeaders ;
+
+SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
+
+UseHeaders [ FDirName $(SUBDIR) ] : true ;
+
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
+SEARCH_SOURCE += [ FDirName $(SUBDIR) dev vge ] ;
+
+KernelAddon vt612x :
+       glue.c
+       ukphy.c
+       ukphy_subr.c
+       ciphy.c
+       if_vge.c
+       : libfreebsd_network.a
+       ;
+
+ObjectHdrs [ FGristFiles ukphy$(SUFOBJ) ciphy$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles ukphy.c ciphy.c ] : 
<src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/vt612x/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/vt612x/dev/Jamfile
deleted file mode 100644
index 3d84a77d4a..0000000000
--- a/src/add-ons/kernel/drivers/network/vt612x/dev/Jamfile
+++ /dev/null
@@ -1,4 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network vt612x dev ;
-
-SubInclude HAIKU_TOP src add-ons kernel drivers network vt612x dev mii ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network vt612x dev vge ;
diff --git a/src/add-ons/kernel/drivers/network/vt612x/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/vt612x/dev/mii/Jamfile
deleted file mode 100644
index 394fa38ff7..0000000000
--- a/src/add-ons/kernel/drivers/network/vt612x/dev/mii/Jamfile
+++ /dev/null
@@ -1,22 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network vt612x dev mii ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelStaticLibrary vt612x_mii.a
-       :
-       ciphy.c
-       ukphy.c
-       ukphy_subr.c
-       ;
-
-ObjectHdrs [ FGristFiles ciphy$(SUFOBJ) ukphy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles ciphy.c ukphy.c ] : 
<src!libs!compat!freebsd_network>miidevs.h ;
-
diff --git a/src/add-ons/kernel/drivers/network/vt612x/dev/vge/Jamfile 
b/src/add-ons/kernel/drivers/network/vt612x/dev/vge/Jamfile
deleted file mode 100644
index 57b1541376..0000000000
--- a/src/add-ons/kernel/drivers/network/vt612x/dev/vge/Jamfile
+++ /dev/null
@@ -1,19 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network vt612x dev vge ;
-
-SubDirCcFlags -Wall ;
-
-UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
-
-UsePrivateHeaders net system ;
-UsePrivateKernelHeaders ;
-
-SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
-
-KernelAddon vt612x :
-       if_vge.c
-       glue.c
-       : vt612x_mii.a libfreebsd_network.a
-       ;
-
diff --git a/src/add-ons/kernel/drivers/network/vt612x/dev/vge/glue.c 
b/src/add-ons/kernel/drivers/network/vt612x/glue.c
similarity index 100%
rename from src/add-ons/kernel/drivers/network/vt612x/dev/vge/glue.c
rename to src/add-ons/kernel/drivers/network/vt612x/glue.c

############################################################################

Revision:    hrev52694
Commit:      125df15288865dca19c895d64dd6fc64655908fe
URL:         https://git.haiku-os.org/haiku/commit/?id=125df1528886
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Dec 27 19:15:30 2018 UTC

drivers/vlance: Remove.

Never included in the build, and entirely superseded by the "pcnet"
driver from FreeBSD.

----------------------------------------------------------------------------

diff --git a/build/jam/images/NetBootArchive b/build/jam/images/NetBootArchive
index 5267c40c55..a5903de72c 100644
--- a/build/jam/images/NetBootArchive
+++ b/build/jam/images/NetBootArchive
@@ -17,7 +17,6 @@ SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
        }@ # x86
 
        etherpci pegasus usb_ecm wb840
-       #vlance
 ] ;
 SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
        pci isa@x86 ata@ata
diff --git a/src/add-ons/kernel/drivers/network/Jamfile 
b/src/add-ons/kernel/drivers/network/Jamfile
index 24a50da011..853ca057c5 100644
--- a/src/add-ons/kernel/drivers/network/Jamfile
+++ b/src/add-ons/kernel/drivers/network/Jamfile
@@ -12,7 +12,6 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network 
sis19x ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network usb_asix ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network usb_davicom ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network usb_ecm ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network vlance ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network wb840 ;
 
 # FreeBSD 11.1 drivers
diff --git a/src/add-ons/kernel/drivers/network/vlance/Jamfile 
b/src/add-ons/kernel/drivers/network/vlance/Jamfile
deleted file mode 100644
index 02c01385f2..0000000000
--- a/src/add-ons/kernel/drivers/network/vlance/Jamfile
+++ /dev/null
@@ -1,10 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network vlance ;
-
-SetSubDirSupportedPlatformsBeOSCompatible ;
-
-# For ether_driver.h
-UsePrivateHeaders net ;
-
-KernelAddon vlance :
-       vlance.c
-       ;
diff --git a/src/add-ons/kernel/drivers/network/vlance/vlance.c 
b/src/add-ons/kernel/drivers/network/vlance/vlance.c
deleted file mode 100644
index 267f3bacce..0000000000
--- a/src/add-ons/kernel/drivers/network/vlance/vlance.c
+++ /dev/null
@@ -1,1045 +0,0 @@
-/*
- * Copyright 2006, Hideyuki Abe. All rights reserved.
- * Distributed under the terms of the MIT License.
- */
-
-//! Ethernet Driver for VMware PCnet/PCI virtual network controller
-
-#include "vlance.h"
-
-#include <ether_driver.h>
-
-#include <Drivers.h>
-#include <KernelExport.h>
-#include <OS.h>
-#include <PCI.h>
-
-#include <stdarg.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-
-/* debug flag definitions */
-#define ERR       0x0001
-#define INFO      0x0002
-#define RX        0x0004               /* dump received frames */
-#define TX        0x0008               /* dump transmitted frames */
-#define INTERRUPT 0x0010               /* interrupt calls */
-#define FUNCTION  0x0020               /* function calls */
-#define PCI_IO    0x0040               /* pci reads and writes */
-#define SEQ              0x0080                /* trasnmit & receive TCP/IP 
sequence sequence numbers */
-#define WARN     0x0100                /* Warnings - off on final release */
-
-/* debug flag */
-//#define DEBUG_FLG    ( ERR | INFO | WARN )
-//#define DEBUG_FLG    ( ERR | INFO | INTERRUPT | FUNCTION | WARN )
-#define DEBUG_FLG      ( ERR | WARN )
-
-#define        DEBUG(x)        (DEBUG_FLG & (x))
-#define TRACE(x)       dprintf x
-
-/* PCI vendor and device ID's */
-#define VENDOR_ID        0x1022                /* AMD */
-#define DEVICE_ID        0x2000                /* PCnet/PCI */
-
-
-#define DEVICE_NAME "vlance"
-#define DEVICE_NAME_LEN                64
-
-#define MAX_CARDS                      4               /* maximum number of 
driver instances */
-
-#define BUFFER_SIZE                    2048L   /* B_PAGE_SIZE divided into 
even amounts that will hold a 1518 frame */
-#define MAX_FRAME_SIZE         1514    /* 1514 + 4 bytes checksum */
-
-/* ring buffer sizes  */
-#define        TX_BUFF_IDX                     (4)
-#define        RX_BUFF_IDX                     (5)
-#define TX_BUFFERS                     (1 << TX_BUFF_IDX)
-#define RX_BUFFERS                     (1 << RX_BUFF_IDX)              /* Must 
be a power of 2 */
-
-/* max number of multicast address */
-#define        MAX_MULTI                       (4)
-
-
-/*
- * 6-octet MAC address
- */
-typedef struct {
-       uint8 ch[6];
-       uint8 rsv[2];
-} mac_addr_t;
-
-
-/* driver intance definition */
-typedef struct {
-       mac_addr_t              mac_addr;                               /* MAC 
address */
-       int32                   devID;                                  /* 
device identifier */
-       pci_info                *devInfo;                               /* 
device information */
-       uint16                  irq;                                    /* our 
IRQ line */
-       sem_id                  ilock, olock;                   /* I/O 
semaphores */
-       int32                   readLock, writeLock;    /* reentrant read/write 
lock */
-       int32                   blockFlg;                               /* for 
blocking (0) or nonblocking (!=0) read */
-       init_block_t    init_blk;                               /* 
Initialization Block */
-       uint32                  phys_init_blk;                  /* 
Initialization Block physical address */
-       area_id                 tx_desc_area;                   /* transmit 
descriptor area */
-       area_id                 tx_buf_area;                    /* transmit 
buffer area */
-       area_id                 rx_desc_area;                   /* receive 
descriptor area */
-       area_id                 rx_buf_area;                    /* receive 
buffer area */
-       uchar                   *tx_buf[TX_BUFFERS];    /* tx buffers */
-       uchar                   *rx_buf[RX_BUFFERS];    /* rx buffers */
-       trns_desc_t             *tx_desc[TX_BUFFERS];   /* tx frame descriptors 
*/
-       recv_desc_t             *rx_desc[RX_BUFFERS];   /* rx frame descriptors 
*/
-       uint32                  phys_tx_buf;                    /* tx buffer 
physical address */
-       uint32                  phys_rx_buf;                    /* rx buffer 
physical address */
-       uint32                  phys_tx_desc;                   /* tx 
descriptor physical address */
-       uint32                  phys_rx_desc;                   /* rx 
descriptor physical address */
-       int16                   tx_sent, tx_acked;              /* in & out 
index to tx buffers */
-       int16                   rx_received, rx_acked;  /* in & out index to rx 
buffers */
-       int32                   nmulti;                                 /* 
number of multicast address */
-       mac_addr_t              multi[MAX_MULTI];               /* multicast 
address */
-       uint32                  reg_base;                               /* base 
address of PCI regs */
-} dev_info_t;
-
-
-/* function prototypes */
-static status_t vlance_open(const char *name, uint32 flags, void **_cookie);
-static status_t vlance_close(void *_device);
-static status_t vlance_free(void *_device);
-static status_t vlance_control(void *cookie, uint32 msg, void *buf, size_t 
len);
-static status_t vlance_read(void *_device, off_t pos, void *buf, size_t *len);
-static status_t vlance_write(void *_device, off_t pos, const void *buf, size_t 
*len);
-static int32 vlance_interrupt(void *_device);
-
-static device_hooks sDeviceHooks = {
-       vlance_open,            /* open entry point */
-       vlance_close,           /* close entry point */
-       vlance_free,            /* free entry point */
-       vlance_control,         /* control entry point */
-       vlance_read,            /* read entry point */
-       vlance_write,           /* write entry point */
-       NULL,                           /* select entry point */
-       NULL,                           /* deselect entry point */
-       NULL,                           /* readv */
-       NULL                            /* writev */
-};
-
-int32 api_version = B_CUR_DRIVER_API_VERSION;
-
-static pci_module_info *sPCI;
-static uint32 sNumOfCards;
-static char *sDeviceNames[MAX_CARDS + 1];      /* NULL-terminated */
-static pci_info *sCardInfo[MAX_CARDS];
-static int32 sOpenLock[MAX_CARDS];
-
-
-#define write8(addr, val)      (*sPCI->write_io_8)((addr), (val))
-#define write16(addr, val)     (*sPCI->write_io_16)((addr), (val))
-#define write32(addr, val)     (*sPCI->write_io_32)((addr), (val))
-#define read8(addr)                    ((*sPCI->read_io_8)(addr))
-#define read16(addr)           ((*sPCI->read_io_16)(addr))
-#define read32(addr)           ((*sPCI->read_io_32)(addr))
-
-#define RNDUP(x, y) (((x) + (y) - 1) & ~((y) - 1))
-
-
-//     #pragma mark - register access
-
-
-static inline uint32
-csr_read(dev_info_t *device, uint32 reg_num)
-{
-       write32(device->reg_base + PCNET_RAP_OFFSET, reg_num);
-       return read32(device->reg_base + PCNET_RDP_OFFSET);
-}
-
-
-static inline void
-csr_write(dev_info_t *device, uint32 reg_num, uint32 data)
-{
-       write32(device->reg_base + PCNET_RAP_OFFSET, reg_num);
-       write32(device->reg_base + PCNET_RDP_OFFSET, data);
-}
-
-
-static inline uint32
-bcr_read(dev_info_t *device, uint32 reg_num)
-{
-       write32(device->reg_base + PCNET_RAP_OFFSET, reg_num);
-       return read32(device->reg_base + PCNET_BDP_OFFSET);
-}
-
-
-static inline void
-bcr_write(dev_info_t *device, uint32 reg_num, uint32 data)
-{
-       write32(device->reg_base + PCNET_RAP_OFFSET, reg_num);
-       write32(device->reg_base + PCNET_BDP_OFFSET, data);
-}
-
-
-//     #pragma mark - misc
-
-
-static int32
-get_card_info(pci_info *info[])
-{
-       status_t status;
-       int32 i, entries;
-       pci_info *item = (pci_info *)malloc(sizeof(pci_info));
-       if (item == NULL)
-               return 0;
-
-       for (i = 0, entries = 0; entries < MAX_CARDS; i++) {
-               status = sPCI->get_nth_pci_info(i, item);
-               if (status != B_OK)
-                       break;
-
-               if (item->vendor_id == VENDOR_ID && item->device_id == 
DEVICE_ID) {
-                       /* check if the device really has an IRQ */
-                       if (item->u.h0.interrupt_line == 0 || 
item->u.h0.interrupt_line == 0xff) {
-                               TRACE((DEVICE_NAME " found with invalid IRQ - 
check IRQ assignement\n"));
-                               continue;
-                       }
-
-                       TRACE((DEVICE_NAME " found at IRQ %x\n", 
item->u.h0.interrupt_line));
-
-                       info[entries++] = item;
-                       item = (pci_info *)malloc(sizeof(pci_info));
-               }
-       }
-
-       free(item);
-       return entries;
-}
-
-
-static status_t
-free_card_info(pci_info *info[])
-{
-       int32 i;
-
-       for (i = 0; i < sNumOfCards; i++) {
-               free(info[i]);
-       }
-
-       return B_OK;
-}
-
-
-static status_t
-map_pci_addr(dev_info_t *device)
-{
-       pci_info *dev_info = device->devInfo;
-       int32 pci_cmd;
-
-       pci_cmd = sPCI->read_pci_config(dev_info->bus, dev_info->device,
-               dev_info->function, PCI_command, 2);
-
-       /* turn on I/O port decode, Memory Address Decode, and Bus Mastering */
-       sPCI->write_pci_config(dev_info->bus, dev_info->device,
-               dev_info->function, PCI_command, 2,
-               pci_cmd | PCI_command_io | PCI_command_memory | 
PCI_command_master);
-
-       device->reg_base = dev_info->u.h0.base_registers[0];
-
-#if DEBUG(PCI_IO)
-       dprintf(DEVICE_NAME ": reg_base=%x\n", device->reg_base);
-#endif
-
-       return B_OK;
-}
-
-
-static status_t
-alloc_buffers(dev_info_t *device)
-{
-       uint32 size;
-       uint16 i;
-       physical_entry entry;
-
-       /* get physical address of Initialization Block */
-       size = RNDUP(sizeof(dev_info_t), B_PAGE_SIZE);
-       get_memory_map(&(device->init_blk), size, &entry, 1);
-       device->phys_init_blk = entry.address;
-
-       TRACE((DEVICE_NAME " init block va=%p pa=%p, size %lx\n",
-               &(device->init_blk), (void *)device->phys_init_blk, size));
-
-       /* create tx descriptor area */
-       size = RNDUP(sizeof(trns_desc_t) * TX_BUFFERS, B_PAGE_SIZE);
-       device->tx_desc_area = create_area(DEVICE_NAME " tx descriptors",
-               (void **)device->tx_desc, B_ANY_KERNEL_ADDRESS, size,
-               B_32_BIT_FULL_LOCK, B_READ_AREA | B_WRITE_AREA);
-       if (device->tx_desc_area < 0)
-               return device->tx_desc_area;
-
-       for (i = 1; i < TX_BUFFERS; i++) {
-               device->tx_desc[i] = (device->tx_desc[i-1]) + 1;
-       }
-       /* get physical address of tx descriptor */
-       get_memory_map(device->tx_desc[0], size, &entry, 1);
-       device->phys_tx_desc = entry.address;
-
-       TRACE((DEVICE_NAME " create tx desc area va=%p pa=%p sz=%lx\n",
-               device->tx_desc[0], (void *)device->phys_tx_desc, size));
-
-       /* create tx buffer area */
-       size = RNDUP(BUFFER_SIZE * TX_BUFFERS, B_PAGE_SIZE);
-       device->tx_buf_area = create_area(DEVICE_NAME " tx buffers",
-               (void **)device->tx_buf, B_ANY_KERNEL_ADDRESS, size,
-               B_32_BIT_FULL_LOCK, B_READ_AREA | B_WRITE_AREA);
-       if (device->tx_buf_area < 0) {
-               delete_area(device->tx_desc_area);      // sensitive to alloc 
ordering
-               return device->tx_buf_area;
-       }
-
-       for (i = 1; i < TX_BUFFERS; i++) {
-               device->tx_buf[i] = (device->tx_buf[i-1]) + BUFFER_SIZE;
-       }
-
-       /* get physical address of tx buffer */
-       get_memory_map(device->tx_buf[0], size, &entry, 1);
-       device->phys_tx_buf = entry.address;
-
-       TRACE((DEVICE_NAME " create tx buf area va=%p pa=%08lx sz=%lx\n",
-               device->tx_buf[0], device->tx_desc[0]->s.tbadr, size));
-
-       /* create rx descriptor area */
-       size = RNDUP( sizeof(recv_desc_t) * RX_BUFFERS, B_PAGE_SIZE);
-       device->rx_desc_area = create_area(DEVICE_NAME " rx descriptors",
-               (void **)device->rx_desc, B_ANY_KERNEL_ADDRESS, size,
-               B_32_BIT_FULL_LOCK, B_READ_AREA | B_WRITE_AREA);
-       if (device->rx_desc_area < 0) {
-               delete_area(device->tx_desc_area);
-               delete_area(device->tx_buf_area);       // sensitive to alloc 
ordering
-               return device->rx_desc_area;
-       }
-
-       for (i = 1; i < RX_BUFFERS; i++) {
-               device->rx_desc[i] = (device->rx_desc[i-1]) + 1;
-       }
-       /* get physical address of rx descriptor */
-       get_memory_map(device->rx_desc[0], size, &entry, 1);
-       device->phys_rx_desc = entry.address;
-
-       TRACE((DEVICE_NAME " create rx desc area va=%p pa=%p sz=%lx\n",
-               device->rx_desc[0], (void *)device->phys_rx_desc, size));
-
-       /* create rx buffer area */
-       size = RNDUP(BUFFER_SIZE * RX_BUFFERS, B_PAGE_SIZE);
-       device->rx_buf_area = create_area(DEVICE_NAME " rx buffers",
-               (void **)device->rx_buf, B_ANY_KERNEL_ADDRESS, size,
-               B_32_BIT_FULL_LOCK, B_READ_AREA | B_WRITE_AREA);
-       if (device->rx_buf_area < 0) {
-               delete_area(device->tx_desc_area);
-               delete_area(device->tx_buf_area);
-               delete_area(device->rx_desc_area);      // sensitive to alloc 
ordering
-               return device->rx_buf_area;
-       }
-       for (i = 1; i < RX_BUFFERS; i++) {
-               device->rx_buf[i] = (device->rx_buf[i-1]) + BUFFER_SIZE;
-       }
-       /* get physical address of rx buffer */
-       get_memory_map(device->rx_buf[0], size, &entry, 1);
-       device->phys_rx_buf = entry.address;
-
-       TRACE((DEVICE_NAME " create rx buf area va=%p pa=%08lx sz=%lx\n",
-               device->rx_buf[0], device->rx_desc[0]->s.rbadr, size));
-
-       return B_OK;
-}
-
-
-static status_t
-init_buffers(dev_info_t *device)
-{
-       int i;
-
-       /* initilize tx descriptors */
-       for (i = 0; i < TX_BUFFERS; i++) {
-               device->tx_desc[i]->s.tbadr = device->phys_tx_buf + BUFFER_SIZE 
* i;
-               device->tx_desc[i]->s.bcnt = -BUFFER_SIZE;
-               device->tx_desc[i]->s.status = 0;
-               device->tx_desc[i]->s.misc = 0UL;
-               device->tx_desc[i]->s.rsvd = 0UL;
-       }
-
-       /* initialize rx descriptors */
-       for (i = 0; i < RX_BUFFERS; i++) {
-               device->rx_desc[i]->s.rbadr = device->phys_rx_buf + BUFFER_SIZE 
* i;
-               device->rx_desc[i]->s.bcnt = -BUFFER_SIZE;
-//             device->rx_desc[i]->s.status = 0;
-               device->rx_desc[i]->s.status = 0x8000;  /* OWN */
-               device->rx_desc[i]->s.mcnt = 0UL;
-               device->rx_desc[i]->s.rsvd = 0UL;
-       }
-
-       /* initialize frame indexes */
-       device->tx_sent = device->tx_acked = device->rx_received = 
device->rx_acked = 0;
-
-       return B_OK;
-}
-
-
-static void
-free_buffers(dev_info_t *device)
-{
-       delete_area(device->tx_desc_area);
-       delete_area(device->tx_buf_area);
-       delete_area(device->rx_desc_area);
-       delete_area(device->rx_buf_area);
-}
-
-
-static void
-get_mac_addr(dev_info_t *device)
-{
-       int i;
-
-       TRACE((DEVICE_NAME ": Mac address: "));
-
-       for (i = 0; i < 6; i++) {
-               device->mac_addr.ch[i] = read8(device->reg_base + 
PCNET_APROM_OFFSET + i);
-               TRACE((" %02x", device->mac_addr.ch[i]));
-       }
-
-       TRACE(("\n"));
-}
-
-
-/* set hardware so all packets are received. */
-static status_t
-setpromisc(dev_info_t *device)
-{
-       TRACE((DEVICE_NAME ":setpormisc\n"));
-
-       csr_write(device, PCNET_CSR_STATUS, 0x0004UL);
-       csr_write(device, PCNET_CSR_MODE, 0x8000UL);    /* promiscous mode */
-       csr_write(device, PCNET_CSR_STATUS, 0x0042UL);
-
-       return B_OK;
-}
-
-
-#define CRC_POLYNOMIAL_LE 0xedb88320UL  /* Ethernet CRC, little endian */
-
-static status_t
-domulti(dev_info_t *device, uint8 *addr)
-{
-       uint16 mcast_table[4];
-       uint8 *addrs;
-       int i, j, bit, byte;
-       uint32 crc, poly = CRC_POLYNOMIAL_LE;
-
-       if (device->nmulti == MAX_MULTI)
-               return B_ERROR;
-
-       for (i = 0; i < device->nmulti; i++) {
-               if (memcmp(&device->multi[i], addr, sizeof(device->multi[i])) 
== 0)
-                       break;
-       }
-       if (i != device->nmulti)
-               return B_ERROR;
-
-       // only copy if it isn't there already
-       memcpy(&device->multi[i], addr, sizeof(device->multi[i]));
-       device->nmulti++;
-
-       TRACE((DEVICE_NAME ": domulti %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x\n",
-               addr[0],addr[1],addr[2],addr[3],addr[4],addr[5]));
-
-       /* clear the multicast filter */
-       mcast_table[0] = 0;     mcast_table[1] = 0;
-       mcast_table[2] = 0;     mcast_table[3] = 0;
-
-       /* set addresses */
-       for (i = 0; i < device->nmulti; i++) {
-               addrs = (uint8 *)(&(device->multi[i]));
-               /* multicast address? */
-               if (!(*addrs & 1))
-                       break;
-
-               crc = 0xffffffff;
-               for (byte = 0; byte < 6; byte++) {
-                       for (bit = *addrs++, j = 0; j < 8; j++, bit >>= 1) {
-                               int test;
-
-                               test = ((bit ^ crc) & 0x01);
-                               crc >>= 1;
-                               if (test)
-                                       crc = crc ^ poly;
-                       }
-               }
-               crc = crc >> 26;
-               mcast_table[crc >> 4] |= 1 << (crc & 0xf);
-       }
-
-       csr_write(device, PCNET_CSR_STATUS, 0x0004UL);
-       csr_write(device, PCNET_CSR_MODE, 0x0000UL);    /* portsel ?? */
-       csr_write(device, PCNET_CSR_LADRF0, mcast_table[0]);
-       csr_write(device, PCNET_CSR_LADRF1, mcast_table[1]);
-       csr_write(device, PCNET_CSR_LADRF2, mcast_table[2]);
-       csr_write(device, PCNET_CSR_LADRF3, mcast_table[3]);
-       csr_write(device, PCNET_CSR_STATUS, 0x0042UL);
-
-       return B_OK;
-}
-
-
-static void
-reset_device(dev_info_t *device)
-{
-       TRACE((DEVICE_NAME ": reset_device reset the NIC hardware\n"));
-
-       read32(device->reg_base + PCNET_RST_OFFSET);
-       write32(device->reg_base + PCNET_RST_OFFSET, 0UL);
-       snooze(2);      /* wait >1us */
-};
-
-
-/*
- * allocate and initialize semaphores.
- */
-static status_t
-alloc_resources(dev_info_t *device)
-{
-       /* rx semaphores */
-       device->ilock = create_sem(0, DEVICE_NAME " rx");
-       if (device->ilock < 0)
-               return device->ilock;
-
-       set_sem_owner(device->ilock, B_SYSTEM_TEAM);
-
-       /* tx semaphores */
-       device->olock = create_sem(TX_BUFFERS, DEVICE_NAME " tx");
-       if (device->olock < 0) {
-               delete_sem(device->ilock);
-               return device->olock;
-       }
-
-       set_sem_owner(device->olock, B_SYSTEM_TEAM);
-
-       device->readLock = device->writeLock = 0;
-       device->blockFlg = 0;   // set blocking
-
-       return B_OK;
-}
-
-
-static void
-free_resources(dev_info_t *device)
-{
-       delete_sem(device->ilock);
-       delete_sem(device->olock);
-}
-
-
-//     #pragma mark - driver API
-
-
-status_t
-init_hardware(void)
-{
-       TRACE((DEVICE_NAME ": init hardware\n"));
-       return B_OK;
-}
-
-
-status_t
-init_driver()
-{
-       status_t        status;
-       char            devName[DEVICE_NAME_LEN];
-       int32           i;
-
-       TRACE((DEVICE_NAME ": init_driver\n"));
-
-// TODO: this does not compile with our GCC 2.95.3
-#if 0
-{
-       uint32 mgc_num;
-       /* check VMware */
-       asm volatile (
-               "movl   $0x564d5868, %%eax; "
-               "movl   $0, %%ebx; "
-               "movw   $0x000a, %%cx; "
-               "movw   $0x5658, %%dx; "
-               "inl    %%dx, %%eax"
-               : "=b"(mgc_num)
-               :
-               : "eax", "ecx", "edx");
-
-       TRACE((DEVICE_NAME ": VMware magic number %lx\n", mgc_num));
-
-       if (!(mgc_num == 0x564d5868))
-               return ENODEV;
-}
-#endif
-
-       status = get_module(B_PCI_MODULE_NAME, (module_info **)&sPCI);
-       if (status != B_OK)
-               return status;
-
-       /* find LAN cards */
-       sNumOfCards = get_card_info(sCardInfo);
-       if (sNumOfCards == 0) {
-               free_card_info(sCardInfo);
-               put_module(B_PCI_MODULE_NAME);
-               return B_ERROR;
-       }
-
-       /* create device name list*/
-       for (i = 0; i < sNumOfCards; i++) {
-               sprintf(devName, "net/%s/%ld", DEVICE_NAME, i);
-               sDeviceNames[i] = (char *)malloc(DEVICE_NAME_LEN);
-               strcpy(sDeviceNames[i], devName);
-       }
-       sDeviceNames[sNumOfCards] = NULL;
-
-       return B_OK;
-}
-
-
-void
-uninit_driver(void)
-{
-       int32   i;
-
-       /* free device name list*/
-       for (i = 0; i < sNumOfCards; i++) {
-               free(sDeviceNames[i]);
-       }
-
-       /* free device list*/
-       free_card_info(sCardInfo);
-       put_module(B_PCI_MODULE_NAME);
-}
-
-
-const char **
-publish_devices(void)
-{
-       TRACE((DEVICE_NAME ": publish_devices()\n" ));
-       return (const char **)sDeviceNames;
-}
-
-
-device_hooks *
-find_device(const char *name)
-{
-       int32   i;
-
-       /* find device name */
-       for (i = 0; i < sNumOfCards; i++) {
-               if (!strcmp(name, sDeviceNames[i]))
-                       return &sDeviceHooks;
-       }
-
-       return NULL;
-}
-
-
-//     #pragma mark - device API
-
-
-static status_t
-vlance_open(const char *name, uint32 flags, void **cookie)
-{
-       int32 devID;
-       status_t status;
-       dev_info_t *device;
-
-       /*      find device name */
-       for (devID = 0; devID < sNumOfCards; devID++) {
-               if (!strcmp(name, sDeviceNames[devID]))
-                       break;
-       }
-       if (devID >= sNumOfCards)
-               return B_BAD_VALUE;
-
-       /* check if the device is busy and set in-use flag if not */
-       if (atomic_or(&(sOpenLock[devID]), 1))
-               return B_BUSY;
-
-       /* allocate storage for the cookie */
-       *cookie = device = (dev_info_t *)malloc(sizeof(dev_info_t));
-       if (device == NULL) {
-               status = B_NO_MEMORY;
-               goto err0;
-       }
-       memset(device, 0, sizeof(dev_info_t));
-
-       /* setup the cookie */
-       device->devInfo = sCardInfo[devID];
-       device->devID = devID;
-
-       TRACE((DEVICE_NAME ": open %s device=%p\n", name, device));
-
-       /* enable access to the cards address space */
-       status = map_pci_addr(device);
-       if (status != B_OK)
-               goto err1;
-
-       status = alloc_resources(device);
-       if (status != B_OK)
-               goto err1;
-
-       /* init device */
-       reset_device(device);
-
-       /* allocate and initialize frame buffer rings & descriptors */
-       status = alloc_buffers(device);
-       if (status != B_OK)
-               goto err2;
-       status = init_buffers(device);
-       if (status != B_OK)
-               goto err2;
-
-       /* setup interrupts */
-       install_io_interrupt_handler(device->devInfo->u.h0.interrupt_line,
-               vlance_interrupt, *cookie, 0);
-       /* init hardware */
-
-       TRACE((DEVICE_NAME ": hardware specific init\n"));
-
-       write32(device->reg_base + PCNET_RDP_OFFSET, 0UL);      /* DWIO mode */
-       bcr_write(device, PCNET_BCR_SWS, 0x0002UL);     /* 32bit mode */
-
-       get_mac_addr(device);
-
-       device->init_blk.s.mode = ((TX_BUFF_IDX & 0x0f) << 28) | ((RX_BUFF_IDX 
& 0x0f) << 20) | 0x0000UL;       /* TLEN, RLEN */
-       memcpy(device->init_blk.s.padr, &(device->mac_addr), 
sizeof(mac_addr_t));
-       device->init_blk.s.padr[6] = 0;
-       device->init_blk.s.padr[7] = 0;
-       device->init_blk.s.ladr[0] = 0UL;
-       device->init_blk.s.ladr[1] = 0UL;
-       device->init_blk.s.rdra = device->phys_rx_desc;
-       device->init_blk.s.tdra = device->phys_tx_desc;
-
-       {
-               int i;
-               for (i = 0; i < sizeof(init_block_t); i++) {
-                       TRACE((" %02X", *(((unsigned char 
*)&(device->init_blk)) + i)));
-               }
-               TRACE(("\n"));
-       }
-
-       csr_write(device, PCNET_CSR_IADDR0, (device->phys_init_blk) & 
0xffffUL);        /* set init block address L */
-       csr_write(device, PCNET_CSR_IADDR1, (device->phys_init_blk) >> 16);     
                /* set init block address H */
-       csr_write(device, PCNET_CSR_STATUS, 0x0001UL);                          
/* INIT */
-       while (!(csr_read(device, PCNET_CSR_STATUS) & 0x0100UL));       /* 
check IDON */
-       csr_write(device, PCNET_CSR_STATUS, 0x0004UL);                          
/* STOP */
-
-#if DEBUG(INFO)
-       dprintf(DEVICE_NAME ": STATUS = %04X\n", csr_read(device, 
PCNET_CSR_STATUS));
-       dprintf(DEVICE_NAME ": IADDR0 = %04X\n", csr_read(device, 
PCNET_CSR_IADDR0));
-       dprintf(DEVICE_NAME ": IADDR1 = %04X\n", csr_read(device, 
PCNET_CSR_IADDR1));
-       dprintf(DEVICE_NAME ": MODE = %04X\n", csr_read(device, 
PCNET_CSR_MODE));
-       dprintf(DEVICE_NAME ": PADR0 = %04X\n", csr_read(device, 
PCNET_CSR_PADR0));
-       dprintf(DEVICE_NAME ": PADR1 = %04X\n", csr_read(device, 
PCNET_CSR_PADR1));
-       dprintf(DEVICE_NAME ": PADR2 = %04X\n", csr_read(device, 
PCNET_CSR_PADR2));
-       dprintf(DEVICE_NAME ": LADRF0 = %04X\n", csr_read(device, 
PCNET_CSR_LADRF0));
-       dprintf(DEVICE_NAME ": LADRF1 = %04X\n", csr_read(device, 
PCNET_CSR_LADRF1));
-       dprintf(DEVICE_NAME ": LADRF2 = %04X\n", csr_read(device, 
PCNET_CSR_LADRF2));
-       dprintf(DEVICE_NAME ": LADRF3 = %04X\n", csr_read(device, 
PCNET_CSR_LADRF3));
-       dprintf(DEVICE_NAME ": BADRL = %04X\n", csr_read(device, 
PCNET_CSR_BADRL));
-       dprintf(DEVICE_NAME ": BADRH = %04X\n", csr_read(device, 
PCNET_CSR_BADRH));
-       dprintf(DEVICE_NAME ": BADXL = %04X\n", csr_read(device, 
PCNET_CSR_BADXL));
-       dprintf(DEVICE_NAME ": BADXH = %04X\n", csr_read(device, 
PCNET_CSR_BADXH));
-       dprintf(DEVICE_NAME ": BCR18 = %04X\n", bcr_read(device, 
PCNET_BCR_BSBC));
-       dprintf(DEVICE_NAME ": BCR20 = %04X\n", bcr_read(device, 
PCNET_BCR_SWS));
-#endif
-       csr_write(device, PCNET_CSR_STATUS, 0x7f00);    /* clear int source */
-       csr_write(device, PCNET_CSR_STATUS, 0x0042);    /* IENA, STRT */
-
-       return B_OK;
-
-err2:
-       free_buffers(device);
-err1:
-       free_resources(device);
-       free(device);
-err0:
-       atomic_and(&(sOpenLock[devID]), 0);
-       return status;
-}
-
-
-static status_t
-vlance_close(void *_device)
-{
-       dev_info_t *device = (dev_info_t *) _device;
-
-       TRACE((DEVICE_NAME ": vlance_close\n"));
-
-       csr_write(device, PCNET_CSR_STATUS, 0x0004);    /* STOP */
-       TRACE((DEVICE_NAME ": STATUS = %04lx\n", 
csr_read(device,PCNET_CSR_STATUS)));
-
-       /* release resources */
-       free_resources(device);
-
-       return B_OK;
-}
-
-
-static status_t
-vlance_free(void *cookie)
-{
-       dev_info_t *device = (dev_info_t *)cookie;
-
-       TRACE((DEVICE_NAME": free %p\n", device));
-
-    /* remove Interrupt Handler */
-       remove_io_interrupt_handler(device->devInfo->u.h0.interrupt_line, 
vlance_interrupt, cookie);
-
-       free_buffers(device);
-
-       /* device is now available again */
-       atomic_and(&(sOpenLock[device->devID]), 0);
-
-       free(device);
-       return B_OK;
-}
-
-
-static status_t
-vlance_control(void *cookie, uint32 op, void *buf, size_t len)
-{
-       dev_info_t *device = (dev_info_t *)cookie;
-
-       switch (op) {
-               case ETHER_GETADDR: {
-                       uint8 i;
-                       TRACE((DEVICE_NAME ": control ether_getaddr\n"));
-
-                       for (i = 0; i < 6; i++) {
-                               ((uint8 *)buf)[i] = device->mac_addr.ch[i];
-                       }
-                       return B_OK;
-               }
-               case ETHER_INIT:
-                       TRACE((DEVICE_NAME ": control init\n"));
-                       return B_OK;
-
-               case ETHER_GETFRAMESIZE:
-                       TRACE((DEVICE_NAME ": control get_framesize\n"));
-                       *(uint32 *)buf = MAX_FRAME_SIZE;
-                       return B_OK;
-
-               case ETHER_ADDMULTI:
-                       TRACE((DEVICE_NAME ": control add multi\n"));
-                       return domulti(device, (unsigned char *)buf);
-
-               case ETHER_SETPROMISC:
-                       TRACE((DEVICE_NAME ": control set promiscuous\n"));
-                       return setpromisc(device);
-
-               case ETHER_NONBLOCK:
-                       TRACE((DEVICE_NAME ": control blocking %ld\n", 
*((int32*)buf)));
-
-                       if (*((int32 *)buf))
-                               device->blockFlg = 1;   // set non-blocking
-                       else
-                               device->blockFlg = 0;   // set blocking
-                       return B_OK;
-       }
-
-       return B_BAD_VALUE;
-}
-
-
-static status_t
-vlance_read(void *_device, off_t pos, void *buf, size_t *len)
-{
-       dev_info_t *device = (dev_info_t *) _device;
-       int16 frame_size;
-       uint32 flags;
-       status_t status;
-
-//     *len = 0;
-
-#if DEBUG(INFO)
-       dprintf(DEVICE_NAME ": read buf %p, len %d\n", buf, *len);
-#endif
-
-       /* block until data is available (default) */
-       flags = B_CAN_INTERRUPT;
-       if(device->blockFlg) flags |= B_RELATIVE_TIMEOUT;       // non-blocking 
(0-timeout)
-       status = acquire_sem_etc(device->ilock, 1, flags, 0);
-       if(status != B_NO_ERROR) {
-#if DEBUG(INFO)
-               dprintf(DEVICE_NAME ": cannot acquire rx semaphore\n");
-#endif
-               *len = 0;
-               return status;
-       }
-#if DEBUG(INFO)
-       dprintf(DEVICE_NAME ": try to atomic_or readLock\n");
-#endif
-       /* prevent reentrant read */
-       if(atomic_or(&device->readLock, 1)) {
-#if DEBUG(ERR)
-               dprintf(DEVICE_NAME ": cannot atomic_or readLock\n");
-#endif
-               release_sem_etc(device->ilock, 1, 0);
-               *len = 0;
-               return B_ERROR;
-       }
-
-       /* hardware specific code to copy data from the NIC into buf */
-       if((device->rx_desc[device->rx_acked]->s.status) & 0x8000) {    /* 
owned by controller */
-#if DEBUG(ERR)
-               dprintf(DEVICE_NAME ": rx desc owned by controller\n");
-#endif
-               *len = 0;
-               status = B_ERROR;
-       } else {
-#if DEBUG(INFO)
-               dprintf(DEVICE_NAME ": rx desc owned by host\n");
-#endif
-               frame_size = 0;
-               status = B_ERROR;
-               if(!((device->rx_desc[device->rx_acked]->s.status) & 0x4000)) { 
/* not receive error */
-                       frame_size = 
(device->rx_desc[device->rx_acked]->s.mcnt) & 0xfff;
-                       if(frame_size > *len) frame_size = *len;
-                       memcpy(buf, device->rx_buf[device->rx_acked], 
frame_size);
-                       status = B_OK;
-               }
-               if(frame_size < *len) *len = frame_size;
-               device->rx_desc[device->rx_acked]->s.mcnt = 0;
-               device->rx_desc[device->rx_acked]->s.status = 0x8000;   /* OWN 
*/
-               device->rx_acked = (device->rx_acked + 1) & (RX_BUFFERS - 1);
-       }
-
-       /* release reentrant lock */
-       atomic_and(&device->readLock, 0);
-
-       return status;
-}
-
-
-static status_t
-vlance_write(void *_device, off_t pos, const void *buf, size_t *len)
-{
-       dev_info_t *device = (dev_info_t *)_device;
-       int16 frame_size;
-       status_t status;
-
-       TRACE((DEVICE_NAME ": write buf %p len %lu\n", buf, *len));
-
-       if (*len > MAX_FRAME_SIZE) {
-#if DEBUG(ERR)
-               dprintf(DEVICE_NAME ": write %lu > 1514 tooo long\n", *len);
-#endif
-               *len = MAX_FRAME_SIZE;
-       }
-       frame_size = *len;
-
-       status = acquire_sem_etc(device->olock, 1, B_CAN_INTERRUPT, 0);
-       if (status != B_NO_ERROR) {
-               *len = 0;
-               return status;
-       }
-
-       /* prevent reentrant write */
-       if (atomic_or(&device->writeLock, 1)) {
-               release_sem_etc(device->olock, 1, 0);
-               *len = 0;
-               return B_ERROR;
-       }
-
-       /* hardware specific code to transmit buff */
-       if ((device->tx_desc[device->tx_sent]->s.status) & 0x8000) {
-               /* owned by controller */
-#if DEBUG(ERR)
-               dprintf(DEVICE_NAME ": tx desc owned by controller\n");
-#endif
-       } else {
-               TRACE((DEVICE_NAME ": tx desc owned by host\n"));
-
-               memcpy(device->tx_buf[device->tx_sent], buf, frame_size);
-               device->tx_desc[device->tx_sent]->s.bcnt = -frame_size;
-//             (device->tx_desc[device->tx_sent]->s.status) |= 0x8300; /* OWN, 
STP, ENP */
-               (device->tx_desc[device->tx_sent]->s.status) |= 0x9300; /* OWN, 
LTINT, STP, ENP */
-               device->tx_sent = (device->tx_sent + 1) & (TX_BUFFERS - 1);
-               csr_write(device, PCNET_CSR_STATUS, 0x0048UL);  /* IENA, TDMD */
-       }
-
-       /* release reentrant lock */
-       atomic_and(&device->writeLock, 0);
-
-       return B_OK;
-}
-
-
-/*! LAN controller interrupt handler */
-static int32
-vlance_interrupt(void *_device)
-{
-       dev_info_t      *device = (dev_info_t *)_device;
-       int32           handled = B_UNHANDLED_INTERRUPT;
-       int32           interruptStatus;
-       cpu_status      state;
-
-#if DEBUG(INTERRUPT)
-       dprintf(DEVICE_NAME ": ISR_ENTRY\n");
-#endif
-       state = disable_interrupts();   /* disable int state */
-
-       interruptStatus = csr_read(device, PCNET_CSR_STATUS);
-       if (interruptStatus & 0x0080) {
-#if DEBUG(INTERRUPT)
-               dprintf(DEVICE_NAME ": status %04X\n", interruptStatus);
-#endif
-
-               /* clear interrupts */
-               csr_write(device, PCNET_CSR_STATUS, 0x7f00);
-
-               if (interruptStatus & 0x8000) {
-                       /* Error */
-#if DEBUG(ERR)
-                       dprintf(DEVICE_NAME ": int error status %04lx\n", 
interruptStatus);
-#endif
-                       csr_write(device, PCNET_CSR_STATUS, 0x0004);    /* STOP 
*/
-                       init_buffers(device);
-                       csr_write(device, PCNET_CSR_STATUS, 0x0001UL);  /* INIT 
*/
-                       while(!(csr_read(device, PCNET_CSR_STATUS) & 
0x0100UL));        /* check IDON */
-                       csr_write(device, PCNET_CSR_STATUS, 0x0042);    /* 
IENA, STRT */
-                       /* init semaphore ??? */
-                       release_sem_etc(device->olock, TX_BUFFERS, 
B_DO_NOT_RESCHEDULE);
-                       acquire_sem_etc(device->ilock, RX_BUFFERS, 
B_RELATIVE_TIMEOUT, 0);
-                       /* not count TINT & RINT ??? */
-                       interruptStatus &= ~0x0600;
-               }
-               if (interruptStatus & 0x0200) { /* TINT */
-                       while (!((device->tx_desc[device->tx_acked]->s.status) 
& 0x8000)) {
-                               //dprintf(DEVICE_NAME ": rel tx sem\n");
-                               release_sem_etc(device->olock, 1, 
B_DO_NOT_RESCHEDULE);
-                               device->tx_acked = (device->tx_acked + 1) & 
(TX_BUFFERS - 1);
-                               if(device->tx_acked == device->tx_sent) break;
-                       }
-               }
-               if (interruptStatus & 0x0400) { /* RINT */
-                       while 
(!((device->rx_desc[device->rx_received]->s.status) & 0x8000)) {
-                               //dprintf(DEVICE_NAME ": rel rx sem\n");
-                               release_sem_etc(device->ilock, 1, 
B_DO_NOT_RESCHEDULE);
-                               device->rx_received = (device->rx_received + 1) 
& (RX_BUFFERS - 1);
-                       }
-               }
-
-               handled = B_INVOKE_SCHEDULER;   /* set because the interrupt 
was from the NIC, not some other device sharing the interrupt line */
-
-#if DEBUG(INTERRUPT)
-               dprintf(DEVICE_NAME ": ISR - its ours\n");
-#endif
-       }
-
-       csr_write(device, PCNET_CSR_STATUS, 0x0042);
-
-       restore_interrupts(state);      /* restore int state */
-
-       return handled;
-}
-
-
diff --git a/src/add-ons/kernel/drivers/network/vlance/vlance.h 
b/src/add-ons/kernel/drivers/network/vlance/vlance.h
deleted file mode 100644
index 6db8e4c7e2..0000000000
--- a/src/add-ons/kernel/drivers/network/vlance/vlance.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2006, Hideyuki Abe. All rights reserved.
- * Distributed under the terms of the MIT License.
- */
-#ifndef VLANCE_H
-#define VLANCE_H
-
-
-#include <SupportDefs.h>
-
-
-/* PCnet/PCI definitions */
-
-/* I/O mapping */
-#define        PCNET_APROM_OFFSET      (0x00UL)
-#define        PCNET_RDP_OFFSET        (0x10UL)
-#define        PCNET_RAP_OFFSET        (0x14UL)
-#define        PCNET_RST_OFFSET        (0x18UL)
-#define        PCNET_BDP_OFFSET        (0x1cUL)
-
-/* CSR register numbers */
-#define        PCNET_CSR_STATUS        (  0)
-#define        PCNET_CSR_IADDR0        (  1)
-#define        PCNET_CSR_IADDR1        (  2)
-#define        PCNET_CSR_IMSK          (  3)
-#define        PCNET_CSR_FTR           (  4)
-#define        PCNET_CSR_EXTCNT        (  5)
-#define        PCNET_CSR_LADRF0        (  8)
-#define        PCNET_CSR_LADRF1        (  9)
-#define        PCNET_CSR_LADRF2        ( 10)
-#define        PCNET_CSR_LADRF3        ( 11)
-#define        PCNET_CSR_PADR0         ( 12)
-#define        PCNET_CSR_PADR1         ( 13)
-#define        PCNET_CSR_PADR2         ( 14)
-#define        PCNET_CSR_MODE          ( 15)
-#define        PCNET_CSR_BADRL         ( 24)
-#define        PCNET_CSR_BADRH         ( 25)
-#define        PCNET_CSR_BADXL         ( 30)
-#define        PCNET_CSR_BADXH         ( 31)
-#define        PCNET_CSR_POLLINT       ( 47)
-#define        PCNET_CSR_RCVRL         ( 76)
-#define        PCNET_CSR_XMTRL         ( 78)
-#define        PCNET_CSR_DMABAT        ( 82)
-#define        PCNET_CSR_MERRTO        (100)
-#define        PCNET_CSR_MFC           (112)
-#define        PCNET_CSR_RCC           (114)
-#define        PCNET_CSR_RCVALGN       (122)
-
-/* BCR register numbers */
-#define        PCNET_BCR_MC            (  2)
-#define        PCNET_BCR_LNKST         (  4)
-#define        PCNET_BCR_LED1          (  5)
-#define        PCNET_BCR_LED2          (  6)
-#define        PCNET_BCR_LED3          (  7)
-#define        PCNET_BCR_FDC           (  9)
-#define        PCNET_BCR_BSBC          ( 18)
-#define        PCNET_BCR_SWS           ( 20)
-
-/* Receive Descriptor (Little-Endian ordering) */
-typedef union recv_desc {
-       uint32 rmd[4];
-       struct {
-               uint32 rbadr;
-               int16 bcnt;
-               uint16 status;
-               uint32 mcnt;
-               uint32 rsvd;
-       } s;
-} recv_desc_t;
-
-/* Transmit Descriptor (Little-Endian ordering) */
-typedef union trns_desc {
-       uint32 tmd[4];
-       struct {
-               uint32 tbadr;
-               int16 bcnt;
-               uint16 status;
-               uint32 misc;
-               uint32 rsvd;
-       } s;
-} trns_desc_t;
-
-/* Initialization Block (Little-Endian ordering) */
-typedef union init_block {
-       uint32 iblk[7];
-       struct {
-               uint32 mode;
-               uint8 padr[8];
-               uint32 ladr[2];
-               uint32 rdra;
-               uint32 tdra;
-       } s;
-} init_block_t;
-
-#endif /* VLANCE_H */


Other related posts:

  • » [haiku-commits] haiku: hrev52694 - in src/add-ons/kernel/drivers/network: vlance rtl81xx/dev/mii pcnet . rtl81xx - waddlesplash