Lines Matching refs:mii_bus
407 struct mii_bus *mii_bus; member
503 static int tc_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in tc_mdio_read()
520 static int tc_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 val) in tc_mdio_write()
617 if (lp->mii_bus->phy_map[phy_addr]) { in tc_mii_probe()
623 phydev = lp->mii_bus->phy_map[phy_addr]; in tc_mii_probe()
674 lp->mii_bus = mdiobus_alloc(); in tc_mii_init()
675 if (lp->mii_bus == NULL) { in tc_mii_init()
680 lp->mii_bus->name = "tc35815_mii_bus"; in tc_mii_init()
681 lp->mii_bus->read = tc_mdio_read; in tc_mii_init()
682 lp->mii_bus->write = tc_mdio_write; in tc_mii_init()
683 snprintf(lp->mii_bus->id, MII_BUS_ID_SIZE, "%x", in tc_mii_init()
685 lp->mii_bus->priv = dev; in tc_mii_init()
686 lp->mii_bus->parent = &lp->pci_dev->dev; in tc_mii_init()
687 lp->mii_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); in tc_mii_init()
688 if (!lp->mii_bus->irq) { in tc_mii_init()
694 lp->mii_bus->irq[i] = PHY_POLL; in tc_mii_init()
696 err = mdiobus_register(lp->mii_bus); in tc_mii_init()
705 mdiobus_unregister(lp->mii_bus); in tc_mii_init()
707 kfree(lp->mii_bus->irq); in tc_mii_init()
709 mdiobus_free(lp->mii_bus); in tc_mii_init()
884 mdiobus_unregister(lp->mii_bus); in tc35815_remove_one()
885 kfree(lp->mii_bus->irq); in tc35815_remove_one()
886 mdiobus_free(lp->mii_bus); in tc35815_remove_one()