diff options
author | marius <marius@FreeBSD.org> | 2006-12-02 15:32:34 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2006-12-02 15:32:34 +0000 |
commit | 923629baa0e29adb56de97ed5d8fd54e71cd3b49 (patch) | |
tree | 25749fe19f52ff6e7be4f3431382ac173c7c08fc /sys/dev/mii/tdkphy.c | |
parent | 2db40ccfce7ea070a08fa10f3969ee21f4d49779 (diff) | |
download | FreeBSD-src-923629baa0e29adb56de97ed5d8fd54e71cd3b49.zip FreeBSD-src-923629baa0e29adb56de97ed5d8fd54e71cd3b49.tar.gz |
Add a helper function mii_phy_dev_probe(), which wraps around the
mii_phy_match() API and takes care of the PHY device probe based on
the struct mii_phydesc array and the match return value provided.
Convert PHY drivers to take advantage of mii_phy_dev_probe(),
converting drivers to provide a mii_phydesc table in the first
place where necessary.
Reviewed by: yongari
MFC after: 2 weeks
Diffstat (limited to 'sys/dev/mii/tdkphy.c')
-rw-r--r-- | sys/dev/mii/tdkphy.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/sys/dev/mii/tdkphy.c b/sys/dev/mii/tdkphy.c index 1ac7e6f..2e89c2d 100644 --- a/sys/dev/mii/tdkphy.c +++ b/sys/dev/mii/tdkphy.c @@ -54,7 +54,6 @@ __FBSDID("$FreeBSD$"); #include <net/if.h> #include <net/if_media.h> - #include <dev/mii/mii.h> #include <dev/mii/miivar.h> #include "miidevs.h" @@ -95,17 +94,16 @@ DRIVER_MODULE(tdkphy, miibus, tdkphy_driver, tdkphy_devclass, 0, 0); static int tdkphy_service(struct mii_softc *, struct mii_data *, int); static void tdkphy_status(struct mii_softc *); +static const struct mii_phydesc tdkphys[] = { + MII_PHY_DESC(TDK, 78Q2120), + MII_PHY_END +}; + static int tdkphy_probe(device_t dev) { - struct mii_attach_args *ma; - ma = device_get_ivars(dev); - if ((MII_OUI(ma->mii_id1, ma->mii_id2) != MII_OUI_TDK || - MII_MODEL(ma->mii_id2) != MII_MODEL_TDK_78Q2120)) - return (ENXIO); - - device_set_desc(dev, MII_STR_TDK_78Q2120); - return (BUS_PROBE_DEFAULT); + + return (mii_phy_dev_probe(dev, tdkphys, BUS_PROBE_DEFAULT)); } static int |