From owner-cvs-all Sun Aug 29 8:54:40 1999 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id DB72115710; Sun, 29 Aug 1999 08:54:36 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) Received: (from wpaul@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id IAA89031; Sun, 29 Aug 1999 08:52:21 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) Message-Id: <199908291552.IAA89031@freefall.freebsd.org> From: Bill Paul Date: Sun, 29 Aug 1999 08:52:21 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/pci if_xl.c if_xlreg.h src/sys/modules/xl Makefile Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk wpaul 1999/08/29 08:52:20 PDT Modified files: sys/pci if_xl.c if_xlreg.h sys/modules/xl Makefile Log: Convert the 3Com XL driver to miibus. This one is a little tricky due to the fact that there are non-MII cards supported by the same driver and I don't have all of the cards available for testing. There's also the 3c905B-COMBO which has MII, AUI and BNC media ports all in one package. Supporting the COMBO is difficult because we have to add the 10base5 and 10base2 media types to the same ifmedia struct as the MII-attached types, however there is no way to force the miibus and child PHYs into existence before xl_attach() completes, so there is no ifmedia struct available in xl_attach(). What we do inistead is use the mediainit method as a callback: when a child PHY is attached, it calls the miibus mediainit routine which selects a default media. This routing also calls the NIC driver's mediainit method (if it implements one) at which point we can safely add the other media types. Revision Changes Path 1.53 +172 -592 src/sys/pci/if_xl.c 1.21 +1 -154 src/sys/pci/if_xlreg.h 1.4 +5 -0 src/sys/modules/xl/Makefile To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message