Use mdio_alloc() again to allocate MDIO bus. This is possible
because all the miiphybb parameters and ops passing is handled in
at bb_miiphy_read()/bb_miiphy_write() level.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
int register_miiphy_bus(uint k, struct mii_dev **bus)
{
- struct bb_miiphy_bus *bb_miiphy = bb_miiphy_alloc();
- struct mii_dev *mdiodev;
+ struct mii_dev *mdiodev = mdio_alloc();
int retval;
- if (!bb_miiphy)
- return -ENOMEM;
-
- mdiodev = &bb_miiphy->mii;
snprintf(mdiodev->name, MDIO_NAME_LEN, "ihs%d", k);
mdiodev->read = mii_bb_miiphy_read;
mdiodev->write = mii_bb_miiphy_write;
retval = mdio_register(mdiodev);
if (retval < 0)
return retval;
- *bus = &bb_miiphy->mii;
+ *bus = mdiodev;
return mii_mdio_init(k);
}