Lines Matching refs:mii_bus
18 struct mii_bus *mii_bus; member
29 struct mii_bus *mii_bus; member
38 static int mdio_mux_read(struct mii_bus *bus, int phy_id, int regnum) in mdio_mux_read()
44 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_read()
51 r = pb->mii_bus->read(pb->mii_bus, phy_id, regnum); in mdio_mux_read()
53 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_read()
61 static int mdio_mux_write(struct mii_bus *bus, int phy_id, in mdio_mux_write()
69 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_write()
76 r = pb->mii_bus->write(pb->mii_bus, phy_id, regnum, val); in mdio_mux_write()
78 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_write()
90 mdiobus_unregister(cb->mii_bus); in mdio_mux_uninit_children()
91 mdiobus_free(cb->mii_bus); in mdio_mux_uninit_children()
101 struct mii_bus *mux_bus) in mdio_mux_init()
106 struct mii_bus *parent_bus; in mdio_mux_init()
141 pb->mii_bus = parent_bus; in mdio_mux_init()
163 cb->mii_bus = mdiobus_alloc(); in mdio_mux_init()
164 if (!cb->mii_bus) { in mdio_mux_init()
168 cb->mii_bus->priv = cb; in mdio_mux_init()
170 cb->mii_bus->name = "mdio_mux"; in mdio_mux_init()
171 snprintf(cb->mii_bus->id, MII_BUS_ID_SIZE, "%x.%x", in mdio_mux_init()
173 cb->mii_bus->parent = dev; in mdio_mux_init()
174 cb->mii_bus->read = mdio_mux_read; in mdio_mux_init()
175 cb->mii_bus->write = mdio_mux_write; in mdio_mux_init()
176 r = of_mdiobus_register(cb->mii_bus, child_bus_node); in mdio_mux_init()
178 mdiobus_free(cb->mii_bus); in mdio_mux_init()
216 put_device(&pb->mii_bus->dev); in mdio_mux_uninit()