Lines Matching refs:mii_bus
104 struct mii_bus *mii_bus; member
339 ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data) in ltq_etop_mdio_wr()
353 ltq_etop_mdio_rd(struct mii_bus *bus, int phy_addr, int phy_reg) in ltq_etop_mdio_rd()
382 if (priv->mii_bus->phy_map[phy_addr]) { in ltq_etop_mdio_probe()
383 phydev = priv->mii_bus->phy_map[phy_addr]; in ltq_etop_mdio_probe()
425 priv->mii_bus = mdiobus_alloc(); in ltq_etop_mdio_init()
426 if (!priv->mii_bus) { in ltq_etop_mdio_init()
432 priv->mii_bus->priv = dev; in ltq_etop_mdio_init()
433 priv->mii_bus->read = ltq_etop_mdio_rd; in ltq_etop_mdio_init()
434 priv->mii_bus->write = ltq_etop_mdio_wr; in ltq_etop_mdio_init()
435 priv->mii_bus->name = "ltq_mii"; in ltq_etop_mdio_init()
436 snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x", in ltq_etop_mdio_init()
438 priv->mii_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); in ltq_etop_mdio_init()
439 if (!priv->mii_bus->irq) { in ltq_etop_mdio_init()
445 priv->mii_bus->irq[i] = PHY_POLL; in ltq_etop_mdio_init()
447 if (mdiobus_register(priv->mii_bus)) { in ltq_etop_mdio_init()
459 mdiobus_unregister(priv->mii_bus); in ltq_etop_mdio_init()
461 kfree(priv->mii_bus->irq); in ltq_etop_mdio_init()
463 mdiobus_free(priv->mii_bus); in ltq_etop_mdio_init()
474 mdiobus_unregister(priv->mii_bus); in ltq_etop_mdio_cleanup()
475 kfree(priv->mii_bus->irq); in ltq_etop_mdio_cleanup()
476 mdiobus_free(priv->mii_bus); in ltq_etop_mdio_cleanup()