Message ID | 20100208151207.GE2601@psychotron.lab.eng.brq.redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Jiri Pirko <jpirko@redhat.com> wrote: > Use "phy_find_first" instead of manual lookup. Also use "phy_connect_direct" > instead of "phy_connect" since we already have phy_device pointer here. > > Signed-off-by: Jiri Pirko <jpirko@redhat.com> Looks reasonable as far as I can see. Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Date: Wed, 10 Feb 2010 15:17:06 +0530 > Jiri Pirko <jpirko@redhat.com> wrote: >> Use "phy_find_first" instead of manual lookup. Also use "phy_connect_direct" >> instead of "phy_connect" since we already have phy_device pointer here. >> >> Signed-off-by: Jiri Pirko <jpirko@redhat.com> > > Looks reasonable as far as I can see. > > Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Applied, thanks guys. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 1d0d4d9..2b92c90 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -189,18 +189,11 @@ static void macb_handle_link_change(struct net_device *dev) static int macb_mii_probe(struct net_device *dev) { struct macb *bp = netdev_priv(dev); - struct phy_device *phydev = NULL; + struct phy_device *phydev; struct eth_platform_data *pdata; - int phy_addr; - - /* find the first phy */ - for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { - if (bp->mii_bus->phy_map[phy_addr]) { - phydev = bp->mii_bus->phy_map[phy_addr]; - break; - } - } + int ret; + phydev = phy_find_first(bp->mii_bus); if (!phydev) { printk (KERN_ERR "%s: no PHY found\n", dev->name); return -1; @@ -210,17 +203,13 @@ static int macb_mii_probe(struct net_device *dev) /* TODO : add pin_irq */ /* attach the mac to the phy */ - if (pdata && pdata->is_rmii) { - phydev = phy_connect(dev, dev_name(&phydev->dev), - &macb_handle_link_change, 0, PHY_INTERFACE_MODE_RMII); - } else { - phydev = phy_connect(dev, dev_name(&phydev->dev), - &macb_handle_link_change, 0, PHY_INTERFACE_MODE_MII); - } - - if (IS_ERR(phydev)) { + ret = phy_connect_direct(dev, phydev, &macb_handle_link_change, 0, + pdata && pdata->is_rmii ? + PHY_INTERFACE_MODE_RMII : + PHY_INTERFACE_MODE_MII); + if (ret) { printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name); - return PTR_ERR(phydev); + return ret; } /* mask with MAC supported features */
Use "phy_find_first" instead of manual lookup. Also use "phy_connect_direct" instead of "phy_connect" since we already have phy_device pointer here. Signed-off-by: Jiri Pirko <jpirko@redhat.com> --- drivers/net/macb.c | 29 +++++++++-------------------- 1 files changed, 9 insertions(+), 20 deletions(-)