88,92d87
< struct bmtphy_softc {
< struct mii_softc mii_sc;
< int mii_model;
< };
<
108c103
< sizeof(struct bmtphy_softc)
---
> sizeof(struct mii_softc)
118,122c113,117
< MII_PHY_DESC(BROADCOM, BCM4401),
< MII_PHY_DESC(BROADCOM, BCM5201),
< MII_PHY_DESC(BROADCOM, BCM5214),
< MII_PHY_DESC(BROADCOM, BCM5221),
< MII_PHY_DESC(BROADCOM, BCM5222),
---
> MII_PHY_DESC(xxBROADCOM, BCM4401),
> MII_PHY_DESC(xxBROADCOM, BCM5201),
> MII_PHY_DESC(xxBROADCOM, BCM5214),
> MII_PHY_DESC(xxBROADCOM, BCM5221),
> MII_PHY_DESC(xxBROADCOM, BCM5222),
127,128c122,123
< MII_PHY_DESC(BROADCOM, 3C905B),
< MII_PHY_DESC(BROADCOM, 3C905C),
---
> MII_PHY_DESC(xxBROADCOM, 3C905B),
> MII_PHY_DESC(xxBROADCOM, 3C905C),
131a127,132
> static const struct mii_phy_funcs bmtphy_funcs = {
> bmtphy_service,
> bmtphy_status,
> bmtphy_reset
> };
>
148,151d148
< struct bmtphy_softc *bsc;
< struct mii_softc *sc;
< struct mii_attach_args *ma;
< struct mii_data *mii;
153,178c150
< bsc = device_get_softc(dev);
< sc = &bsc->mii_sc;
< ma = device_get_ivars(dev);
< sc->mii_dev = device_get_parent(dev);
< mii = ma->mii_data;
< LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);
<
< sc->mii_flags = miibus_get_flags(dev);
< sc->mii_inst = mii->mii_instance++;
< sc->mii_phy = ma->mii_phyno;
< sc->mii_service = bmtphy_service;
< sc->mii_pdata = mii;
<
< sc->mii_flags |= MIIF_NOMANPAUSE;
<
< bsc->mii_model = MII_MODEL(ma->mii_id2);
<
< bmtphy_reset(sc);
<
< sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & ma->mii_capmask;
< device_printf(dev, " ");
< mii_phy_add_media(sc);
< printf("\n");
<
< MIIBUS_MEDIAINIT(sc->mii_dev);
<
---
> mii_phy_dev_attach(dev, MIIF_NOMANPAUSE, &bmtphy_funcs, 1);
207c179
< bmtphy_status(sc);
---
> PHY_STATUS(sc);
270d241
< struct bmtphy_softc *bsc;
273,274d243
< bsc = (struct bmtphy_softc *)sc;
<
277c246
< if (bsc->mii_model == MII_MODEL_BROADCOM_BCM5221) {
---
> if (sc->mii_mpd_model == MII_MODEL_xxBROADCOM_BCM5221) {