-static int rtl8366rb_mii_init(struct rtl8366rb *rtl)
-{
- int ret;
- int i;
-
- rtl->mii_bus = mdiobus_alloc();
- if (rtl->mii_bus == NULL) {
- ret = -ENOMEM;
- goto err;
- }
-
- rtl->mii_bus->priv = (void *) rtl;
- rtl->mii_bus->name = "rtl8366-rtl";
- rtl->mii_bus->read = rtl8366rb_mii_read;
- rtl->mii_bus->write = rtl8366rb_mii_write;
- snprintf(rtl->mii_bus->id, MII_BUS_ID_SIZE, "%s",
- dev_name(rtl->parent));
- rtl->mii_bus->parent = rtl->parent;
- rtl->mii_bus->phy_mask = ~(0x1f);
- rtl->mii_bus->irq = rtl->mii_irq;
- for (i = 0; i < PHY_MAX_ADDR; i++)
- rtl->mii_irq[i] = PHY_POLL;
-
- ret = mdiobus_register(rtl->mii_bus);
- if (ret)
- goto err_free;
-
- return 0;
-
- err_free:
- mdiobus_free(rtl->mii_bus);
- err:
- return ret;
-}
-
-static void rtl8366rb_mii_cleanup(struct rtl8366rb *rtl)
-{
- mdiobus_unregister(rtl->mii_bus);
- mdiobus_free(rtl->mii_bus);
-}
-