diff options
author | wpaul <wpaul@FreeBSD.org> | 1999-08-29 15:42:04 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1999-08-29 15:42:04 +0000 |
commit | c880bbe674ca198bf53958c6ebe7d79cfc36b1f7 (patch) | |
tree | d46d4d7bdda0eea175090600568da2c323261d92 /sys/dev/mii/mii.c | |
parent | e343cf19611a68f1f961aaa5030fbc86e632d250 (diff) | |
download | FreeBSD-src-c880bbe674ca198bf53958c6ebe7d79cfc36b1f7.zip FreeBSD-src-c880bbe674ca198bf53958c6ebe7d79cfc36b1f7.tar.gz |
The ASIC on the 3c905C appears to be manufactured by Broadcom (previous
ones were made by Lucent). The Broadcom chip also appears to use an
internal PHY made by Broadcom which uses the Broadcom OUI. This is different
from previous ASICs which always returned 0 in the PHY ID registers.
To account for this, I added the necessary ID values for the Broadcom
PHY so that it can be detected and attached using the 3Com PHY driver
instead of defaulting to the generic one.
Diffstat (limited to 'sys/dev/mii/mii.c')
-rw-r--r-- | sys/dev/mii/mii.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/mii/mii.c b/sys/dev/mii/mii.c index e64488f..b10e57a 100644 --- a/sys/dev/mii/mii.c +++ b/sys/dev/mii/mii.c @@ -60,7 +60,7 @@ #if !defined(lint) static const char rcsid[] = - "$FreeBSD$"; + "$Id: mii.c,v 1.1 1999/08/21 17:40:41 wpaul Exp $"; #endif static int miibus_readreg __P((device_t, int, int)); @@ -106,7 +106,7 @@ int miibus_probe(dev) { struct mii_attach_args ma, *args; struct mii_data *mii; - device_t child = 0, parent; + device_t child = NULL, parent; int bmsr, capmask = 0xFFFFFFFF; mii = device_get_softc(dev); @@ -222,6 +222,9 @@ static void miibus_mediainit(dev) struct ifmedia_entry *m; int media = 0; + /* Poke the parent in case it has any media of its own to add. */ + MIIBUS_MEDIAINIT(device_get_parent(dev)); + mii = device_get_softc(dev); for (m = LIST_FIRST(&mii->mii_media.ifm_list); m != NULL; m = LIST_NEXT(m, ifm_list)) { |