Lines Matching refs:bus

32 static int hip04_mdio_wait_ready(struct mii_bus *bus)  in hip04_mdio_wait_ready()  argument
34 struct hip04_mdio_priv *priv = bus->priv; in hip04_mdio_wait_ready()
46 static int hip04_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in hip04_mdio_read() argument
48 struct hip04_mdio_priv *priv = bus->priv; in hip04_mdio_read()
52 ret = hip04_mdio_wait_ready(bus); in hip04_mdio_read()
59 ret = hip04_mdio_wait_ready(bus); in hip04_mdio_read()
65 dev_err(bus->parent, "SMI bus read not valid\n"); in hip04_mdio_read()
76 static int hip04_mdio_write(struct mii_bus *bus, int mii_id, in hip04_mdio_write() argument
79 struct hip04_mdio_priv *priv = bus->priv; in hip04_mdio_write()
83 ret = hip04_mdio_wait_ready(bus); in hip04_mdio_write()
94 static int hip04_mdio_reset(struct mii_bus *bus) in hip04_mdio_reset() argument
99 hip04_mdio_write(bus, i, 22, 0); in hip04_mdio_reset()
100 temp = hip04_mdio_read(bus, i, MII_BMCR); in hip04_mdio_reset()
105 if (hip04_mdio_write(bus, i, MII_BMCR, temp) < 0) in hip04_mdio_reset()
116 struct mii_bus *bus; in hip04_mdio_probe() local
120 bus = mdiobus_alloc_size(sizeof(struct hip04_mdio_priv)); in hip04_mdio_probe()
121 if (!bus) { in hip04_mdio_probe()
126 bus->name = "hip04_mdio_bus"; in hip04_mdio_probe()
127 bus->read = hip04_mdio_read; in hip04_mdio_probe()
128 bus->write = hip04_mdio_write; in hip04_mdio_probe()
129 bus->reset = hip04_mdio_reset; in hip04_mdio_probe()
130 snprintf(bus->id, MII_BUS_ID_SIZE, "%s-mii", dev_name(&pdev->dev)); in hip04_mdio_probe()
131 bus->parent = &pdev->dev; in hip04_mdio_probe()
132 priv = bus->priv; in hip04_mdio_probe()
141 ret = of_mdiobus_register(bus, pdev->dev.of_node); in hip04_mdio_probe()
147 platform_set_drvdata(pdev, bus); in hip04_mdio_probe()
152 mdiobus_free(bus); in hip04_mdio_probe()
158 struct mii_bus *bus = platform_get_drvdata(pdev); in hip04_mdio_remove() local
160 mdiobus_unregister(bus); in hip04_mdio_remove()
161 mdiobus_free(bus); in hip04_mdio_remove()