Lines Matching full:bus

27 static int octeon_mdiobus_read(struct mii_bus *bus, int phy_id, int regnum)  in octeon_mdiobus_read()  argument
29 struct octeon_mdiobus *p = bus->priv; in octeon_mdiobus_read()
42 * Wait 1000 clocks so we don't saturate the RSL bus in octeon_mdiobus_read()
55 static int octeon_mdiobus_write(struct mii_bus *bus, int phy_id, in octeon_mdiobus_write() argument
58 struct octeon_mdiobus *p = bus->priv; in octeon_mdiobus_write()
75 * Wait 1000 clocks so we don't saturate the RSL bus in octeon_mdiobus_write()
90 struct octeon_mdiobus *bus; in octeon_mdiobus_probe() local
95 bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL); in octeon_mdiobus_probe()
96 if (!bus) in octeon_mdiobus_probe()
100 bus->unit = pdev->id; in octeon_mdiobus_probe()
102 bus->mii_bus = mdiobus_alloc(); in octeon_mdiobus_probe()
104 if (!bus->mii_bus) in octeon_mdiobus_probe()
109 cvmx_write_csr(CVMX_SMIX_EN(bus->unit), smi_en.u64); in octeon_mdiobus_probe()
116 bus->phy_irq[i] = PHY_POLL; in octeon_mdiobus_probe()
118 bus->mii_bus->priv = bus; in octeon_mdiobus_probe()
119 bus->mii_bus->irq = bus->phy_irq; in octeon_mdiobus_probe()
120 bus->mii_bus->name = "mdio-octeon"; in octeon_mdiobus_probe()
121 snprintf(bus->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x", in octeon_mdiobus_probe()
122 bus->mii_bus->name, bus->unit); in octeon_mdiobus_probe()
123 bus->mii_bus->parent = &pdev->dev; in octeon_mdiobus_probe()
125 bus->mii_bus->read = octeon_mdiobus_read; in octeon_mdiobus_probe()
126 bus->mii_bus->write = octeon_mdiobus_write; in octeon_mdiobus_probe()
128 dev_set_drvdata(&pdev->dev, bus); in octeon_mdiobus_probe()
130 err = mdiobus_register(bus->mii_bus); in octeon_mdiobus_probe()
138 mdiobus_free(bus->mii_bus); in octeon_mdiobus_probe()
141 devm_kfree(&pdev->dev, bus); in octeon_mdiobus_probe()
143 cvmx_write_csr(CVMX_SMIX_EN(bus->unit), smi_en.u64); in octeon_mdiobus_probe()
149 struct octeon_mdiobus *bus; in octeon_mdiobus_remove() local
152 bus = dev_get_drvdata(&pdev->dev); in octeon_mdiobus_remove()
154 mdiobus_unregister(bus->mii_bus); in octeon_mdiobus_remove()
155 mdiobus_free(bus->mii_bus); in octeon_mdiobus_remove()
157 cvmx_write_csr(CVMX_SMIX_EN(bus->unit), smi_en.u64); in octeon_mdiobus_remove()