]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
net: macb: Use phy_dev in macb structure
authorHarini Katakam <harini.katakam@xilinx.com>
Thu, 8 Mar 2018 12:50:39 +0000 (18:20 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 16 Mar 2018 09:25:51 +0000 (10:25 +0100)
Use local phy_dev pointer in macb_structure.

Signed-off-by: Harini Katakam <harinik@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/net/ethernet/cadence/macb.h
drivers/net/ethernet/cadence/macb_main.c

index 76b6b39eb35614379ef1207725a3317ab00286b5..35094c5b06fff8e54ff6d49852c3f4f0a218dc84 100644 (file)
@@ -1029,6 +1029,7 @@ struct macb {
        struct macb_or_gem_ops  macbgem_ops;
 
        struct mii_bus          *mii_bus;
+       struct phy_device       *phy_dev;
        struct device_node      *phy_node;
        int                     link;
        int                     speed;
index 1f603fa488acbd25b1c1f9619dcbf779c7709328..564fa955d3c016328e0cc1715d9cf9227846e968 100644 (file)
@@ -403,7 +403,7 @@ static void macb_set_tx_clk(struct clk *clk, int speed, struct net_device *dev)
 static void macb_handle_link_change(struct net_device *dev)
 {
        struct macb *bp = netdev_priv(dev);
-       struct phy_device *phydev = dev->phydev;
+       struct phy_device *phydev = bp->phy_dev;
        unsigned long flags;
        int status_change = 0;
 
@@ -525,6 +525,7 @@ static int macb_mii_probe(struct net_device *dev)
        bp->link = 0;
        bp->speed = 0;
        bp->duplex = -1;
+       bp->phy_dev = phydev;
 
        return 0;
 }
@@ -2209,7 +2210,7 @@ static int macb_open(struct net_device *dev)
        netif_carrier_off(dev);
 
        /* if the phy is not yet register, retry later*/
-       if (!dev->phydev)
+       if (!bp->phy_dev)
                return -EAGAIN;
 
        /* RX buffers initialization */
@@ -2228,7 +2229,7 @@ static int macb_open(struct net_device *dev)
        macb_init_hw(bp);
 
        /* schedule a link state check */
-       phy_start(dev->phydev);
+       phy_start(bp->phy_dev);
 
        netif_tx_start_all_queues(dev);
 
@@ -2246,8 +2247,8 @@ static int macb_close(struct net_device *dev)
        netif_tx_stop_all_queues(dev);
        napi_disable(&bp->napi);
 
-       if (dev->phydev)
-               phy_stop(dev->phydev);
+       if (bp->phy_dev)
+               phy_stop(bp->phy_dev);
 
        spin_lock_irqsave(&bp->lock, flags);
        macb_reset_hw(bp);
@@ -3062,7 +3063,7 @@ static int at91ether_open(struct net_device *dev)
                             MACB_BIT(HRESP));
 
        /* schedule a link state check */
-       phy_start(dev->phydev);
+       phy_start(lp->phy_dev);
 
        netif_start_queue(dev);
 
@@ -3556,6 +3557,8 @@ static int macb_probe(struct platform_device *pdev)
                    macb_is_gem(bp) ? "GEM" : "MACB", macb_readl(bp, MID),
                    dev->base_addr, dev->irq, dev->dev_addr);
 
+       phydev = bp->phy_dev;
+
        return 0;
 
 err_out_unregister_mdio:
@@ -3588,8 +3591,8 @@ static int macb_remove(struct platform_device *pdev)
 
        if (dev) {
                bp = netdev_priv(dev);
-               if (dev->phydev)
-                       phy_disconnect(dev->phydev);
+               if (bp->phy_dev)
+                       phy_disconnect(bp->phy_dev);
                mdiobus_unregister(bp->mii_bus);
                dev->phydev = NULL;
                mdiobus_free(bp->mii_bus);