Lines Matching refs:bus

74 static int orion_mdio_wait_ready(struct mii_bus *bus)  in orion_mdio_wait_ready()  argument
76 struct orion_mdio_dev *dev = bus->priv; in orion_mdio_wait_ready()
108 dev_err(bus->parent, "Timeout: SMI busy for too long\n"); in orion_mdio_wait_ready()
112 static int orion_mdio_read(struct mii_bus *bus, int mii_id, in orion_mdio_read() argument
115 struct orion_mdio_dev *dev = bus->priv; in orion_mdio_read()
121 ret = orion_mdio_wait_ready(bus); in orion_mdio_read()
130 ret = orion_mdio_wait_ready(bus); in orion_mdio_read()
136 dev_err(bus->parent, "SMI bus read not valid\n"); in orion_mdio_read()
147 static int orion_mdio_write(struct mii_bus *bus, int mii_id, in orion_mdio_write() argument
150 struct orion_mdio_dev *dev = bus->priv; in orion_mdio_write()
155 ret = orion_mdio_wait_ready(bus); in orion_mdio_write()
188 struct mii_bus *bus; in orion_mdio_probe() local
198 bus = devm_mdiobus_alloc_size(&pdev->dev, in orion_mdio_probe()
200 if (!bus) in orion_mdio_probe()
203 bus->name = "orion_mdio_bus"; in orion_mdio_probe()
204 bus->read = orion_mdio_read; in orion_mdio_probe()
205 bus->write = orion_mdio_write; in orion_mdio_probe()
206 snprintf(bus->id, MII_BUS_ID_SIZE, "%s-mii", in orion_mdio_probe()
208 bus->parent = &pdev->dev; in orion_mdio_probe()
210 bus->irq = devm_kmalloc_array(&pdev->dev, PHY_MAX_ADDR, sizeof(int), in orion_mdio_probe()
212 if (!bus->irq) in orion_mdio_probe()
216 bus->irq[i] = PHY_POLL; in orion_mdio_probe()
218 dev = bus->priv; in orion_mdio_probe()
250 ret = of_mdiobus_register(bus, pdev->dev.of_node); in orion_mdio_probe()
252 ret = mdiobus_register(bus); in orion_mdio_probe()
258 platform_set_drvdata(pdev, bus); in orion_mdio_probe()
270 struct mii_bus *bus = platform_get_drvdata(pdev); in orion_mdio_remove() local
271 struct orion_mdio_dev *dev = bus->priv; in orion_mdio_remove()
274 mdiobus_unregister(bus); in orion_mdio_remove()