Lines Matching defs:mii_bus
184 struct mii_bus *mii_bus;
619 static int fec_enet_mdio_read(struct mii_bus *bus, int mii_id, int regnum)
645 static int fec_enet_mdio_write(struct mii_bus *bus, int mii_id, int regnum,
672 static int fec_enet_mdio_reset(struct mii_bus *bus)
689 if ((fep->mii_bus->phy_mask & (1 << phy_id)))
691 if (fep->mii_bus->phy_map[phy_id] == NULL)
693 if (fep->mii_bus->phy_map[phy_id]->phy_id == 0)
695 strncpy(mdio_bus_id, fep->mii_bus->id, MII_BUS_ID_SIZE);
723 "(mii_bus:phy_addr=%s, irq=%d)\n", dev->name,
744 fep->mii_bus = mdiobus_alloc();
745 if (fep->mii_bus == NULL) {
750 fep->mii_bus->name = "fec_enet_mii_bus";
751 fep->mii_bus->read = fec_enet_mdio_read;
752 fep->mii_bus->write = fec_enet_mdio_write;
753 fep->mii_bus->reset = fec_enet_mdio_reset;
754 snprintf(fep->mii_bus->id, MII_BUS_ID_SIZE, "%x", pdev->id + 1);
755 fep->mii_bus->priv = fep;
756 fep->mii_bus->parent = &pdev->dev;
758 fep->mii_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
759 if (!fep->mii_bus->irq) {
765 fep->mii_bus->irq[i] = PHY_POLL;
767 platform_set_drvdata(dev, fep->mii_bus);
769 if (mdiobus_register(fep->mii_bus))
775 kfree(fep->mii_bus->irq);
777 mdiobus_free(fep->mii_bus);
786 mdiobus_unregister(fep->mii_bus);
787 kfree(fep->mii_bus->irq);
788 mdiobus_free(fep->mii_bus);