mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
net: ravb: Switch back to mdio_alloc()
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.
This also fixes previously missed bb_miiphy_free() in .remove
callback of this driver. which does not pose a problem anymore.
Fixes: 079eaca6e7 ("net: ravb: Allocate bb_miiphy using bb_miiphy_alloc() and fill in callbacks")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
This commit is contained in:
@@ -576,7 +576,6 @@ static int ravb_probe(struct udevice *dev)
|
||||
{
|
||||
struct eth_pdata *pdata = dev_get_plat(dev);
|
||||
struct ravb_priv *eth = dev_get_priv(dev);
|
||||
struct bb_miiphy_bus *bb_miiphy;
|
||||
struct mii_dev *mdiodev;
|
||||
void __iomem *iobase;
|
||||
int ret;
|
||||
@@ -588,14 +587,12 @@ static int ravb_probe(struct udevice *dev)
|
||||
if (ret < 0)
|
||||
goto err_mdio_alloc;
|
||||
|
||||
bb_miiphy = bb_miiphy_alloc();
|
||||
if (!bb_miiphy) {
|
||||
mdiodev = mdio_alloc();
|
||||
if (!mdiodev) {
|
||||
ret = -ENOMEM;
|
||||
goto err_mdio_alloc;
|
||||
}
|
||||
|
||||
mdiodev = &bb_miiphy->mii;
|
||||
|
||||
mdiodev->read = ravb_bb_miiphy_read;
|
||||
mdiodev->write = ravb_bb_miiphy_write;
|
||||
mdiodev->priv = eth;
|
||||
@@ -605,7 +602,7 @@ static int ravb_probe(struct udevice *dev)
|
||||
if (ret < 0)
|
||||
goto err_mdio_register;
|
||||
|
||||
eth->bus = &bb_miiphy->mii;
|
||||
eth->bus = mdiodev;
|
||||
|
||||
/* Bring up PHY */
|
||||
ret = clk_enable_bulk(ð->clks);
|
||||
@@ -625,7 +622,7 @@ static int ravb_probe(struct udevice *dev)
|
||||
err_mdio_reset:
|
||||
clk_release_bulk(ð->clks);
|
||||
err_mdio_register:
|
||||
bb_miiphy_free(bb_miiphy);
|
||||
mdio_free(mdiodev);
|
||||
err_mdio_alloc:
|
||||
unmap_physmem(eth->iobase, MAP_NOCACHE);
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user