aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilippe Reynes <tremyfr@gmail.com>2016-05-16 10:52:36 -0400
committerDavid S. Miller <davem@davemloft.net>2016-05-16 22:16:32 -0400
commitc1c511a275c9c0a14836c2071d37946df3862c25 (patch)
tree9f467c611626363480357e88ab2c47ebbdcdd1dd
parent92964c79b357efd980812c4de5c1fd2ec8bb5520 (diff)
net: ethernet: fs-enet: use phydev from struct net_device
The private structure contain a pointer to phydev, but the structure net_device already contain such pointer. So we can remove the pointer phydev in the private structure, and update the driver to use the one contained in struct net_device. Signed-off-by: Philippe Reynes <tremyfr@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c31
-rw-r--r--drivers/net/ethernet/freescale/fs_enet/fs_enet.h1
-rw-r--r--drivers/net/ethernet/freescale/fs_enet/mac-fcc.c4
-rw-r--r--drivers/net/ethernet/freescale/fs_enet/mac-fec.c6
-rw-r--r--drivers/net/ethernet/freescale/fs_enet/mac-scc.c2
5 files changed, 18 insertions, 26 deletions
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
index da90b5ad6e36..dc3700ca48d2 100644
--- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
+++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
@@ -652,13 +652,13 @@ static void fs_timeout(struct net_device *dev)
652 spin_lock_irqsave(&fep->lock, flags); 652 spin_lock_irqsave(&fep->lock, flags);
653 653
654 if (dev->flags & IFF_UP) { 654 if (dev->flags & IFF_UP) {
655 phy_stop(fep->phydev); 655 phy_stop(dev->phydev);
656 (*fep->ops->stop)(dev); 656 (*fep->ops->stop)(dev);
657 (*fep->ops->restart)(dev); 657 (*fep->ops->restart)(dev);
658 phy_start(fep->phydev); 658 phy_start(dev->phydev);
659 } 659 }
660 660
661 phy_start(fep->phydev); 661 phy_start(dev->phydev);
662 wake = fep->tx_free && !(CBDR_SC(fep->cur_tx) & BD_ENET_TX_READY); 662 wake = fep->tx_free && !(CBDR_SC(fep->cur_tx) & BD_ENET_TX_READY);
663 spin_unlock_irqrestore(&fep->lock, flags); 663 spin_unlock_irqrestore(&fep->lock, flags);
664 664
@@ -672,7 +672,7 @@ static void fs_timeout(struct net_device *dev)
672static void generic_adjust_link(struct net_device *dev) 672static void generic_adjust_link(struct net_device *dev)
673{ 673{
674 struct fs_enet_private *fep = netdev_priv(dev); 674 struct fs_enet_private *fep = netdev_priv(dev);
675 struct phy_device *phydev = fep->phydev; 675 struct phy_device *phydev = dev->phydev;
676 int new_state = 0; 676 int new_state = 0;
677 677
678 if (phydev->link) { 678 if (phydev->link) {
@@ -741,8 +741,6 @@ static int fs_init_phy(struct net_device *dev)
741 return -ENODEV; 741 return -ENODEV;
742 } 742 }
743 743
744 fep->phydev = phydev;
745
746 return 0; 744 return 0;
747} 745}
748 746
@@ -776,7 +774,7 @@ static int fs_enet_open(struct net_device *dev)
776 napi_disable(&fep->napi_tx); 774 napi_disable(&fep->napi_tx);
777 return err; 775 return err;
778 } 776 }
779 phy_start(fep->phydev); 777 phy_start(dev->phydev);
780 778
781 netif_start_queue(dev); 779 netif_start_queue(dev);
782 780
@@ -792,7 +790,7 @@ static int fs_enet_close(struct net_device *dev)
792 netif_carrier_off(dev); 790 netif_carrier_off(dev);
793 napi_disable(&fep->napi); 791 napi_disable(&fep->napi);
794 napi_disable(&fep->napi_tx); 792 napi_disable(&fep->napi_tx);
795 phy_stop(fep->phydev); 793 phy_stop(dev->phydev);
796 794
797 spin_lock_irqsave(&fep->lock, flags); 795 spin_lock_irqsave(&fep->lock, flags);
798 spin_lock(&fep->tx_lock); 796 spin_lock(&fep->tx_lock);
@@ -801,8 +799,7 @@ static int fs_enet_close(struct net_device *dev)
801 spin_unlock_irqrestore(&fep->lock, flags); 799 spin_unlock_irqrestore(&fep->lock, flags);
802 800
803 /* release any irqs */ 801 /* release any irqs */
804 phy_disconnect(fep->phydev); 802 phy_disconnect(dev->phydev);
805 fep->phydev = NULL;
806 free_irq(fep->interrupt, dev); 803 free_irq(fep->interrupt, dev);
807 804
808 return 0; 805 return 0;
@@ -850,10 +847,9 @@ static void fs_get_regs(struct net_device *dev, struct ethtool_regs *regs,
850static int fs_get_ksettings(struct net_device *dev, 847static int fs_get_ksettings(struct net_device *dev,
851 struct ethtool_link_ksettings *cmd) 848 struct ethtool_link_ksettings *cmd)
852{ 849{
853 struct fs_enet_private *fep = netdev_priv(dev); 850 struct phy_device *phydev = dev->phydev;
854 struct phy_device *phydev = fep->phydev;
855 851
856 if (!fep->phydev) 852 if (!phydev)
857 return -ENODEV; 853 return -ENODEV;
858 854
859 return phy_ethtool_ksettings_get(phydev, cmd); 855 return phy_ethtool_ksettings_get(phydev, cmd);
@@ -862,10 +858,9 @@ static int fs_get_ksettings(struct net_device *dev,
862static int fs_set_ksettings(struct net_device *dev, 858static int fs_set_ksettings(struct net_device *dev,
863 const struct ethtool_link_ksettings *cmd) 859 const struct ethtool_link_ksettings *cmd)
864{ 860{
865 struct fs_enet_private *fep = netdev_priv(dev); 861 struct phy_device *phydev = dev->phydev;
866 struct phy_device *phydev = fep->phydev;
867 862
868 if (!fep->phydev) 863 if (!phydev)
869 return -ENODEV; 864 return -ENODEV;
870 865
871 return phy_ethtool_ksettings_set(phydev, cmd); 866 return phy_ethtool_ksettings_set(phydev, cmd);
@@ -903,12 +898,10 @@ static const struct ethtool_ops fs_ethtool_ops = {
903 898
904static int fs_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) 899static int fs_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
905{ 900{
906 struct fs_enet_private *fep = netdev_priv(dev);
907
908 if (!netif_running(dev)) 901 if (!netif_running(dev))
909 return -EINVAL; 902 return -EINVAL;
910 903
911 return phy_mii_ioctl(fep->phydev, rq, cmd); 904 return phy_mii_ioctl(dev->phydev, rq, cmd);
912} 905}
913 906
914extern int fs_mii_connect(struct net_device *dev); 907extern int fs_mii_connect(struct net_device *dev);
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet.h b/drivers/net/ethernet/freescale/fs_enet/fs_enet.h
index f184d8f952e2..e29f54a35210 100644
--- a/drivers/net/ethernet/freescale/fs_enet/fs_enet.h
+++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet.h
@@ -149,7 +149,6 @@ struct fs_enet_private {
149 unsigned int last_mii_status; 149 unsigned int last_mii_status;
150 int interrupt; 150 int interrupt;
151 151
152 struct phy_device *phydev;
153 int oldduplex, oldspeed, oldlink; /* current settings */ 152 int oldduplex, oldspeed, oldlink; /* current settings */
154 153
155 /* event masks */ 154 /* event masks */
diff --git a/drivers/net/ethernet/freescale/fs_enet/mac-fcc.c b/drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
index 1ba359f17ec6..d71761a34022 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
@@ -370,7 +370,7 @@ static void restart(struct net_device *dev)
370 370
371 /* adjust to speed (for RMII mode) */ 371 /* adjust to speed (for RMII mode) */
372 if (fpi->use_rmii) { 372 if (fpi->use_rmii) {
373 if (fep->phydev->speed == 100) 373 if (dev->phydev->speed == 100)
374 C8(fcccp, fcc_gfemr, 0x20); 374 C8(fcccp, fcc_gfemr, 0x20);
375 else 375 else
376 S8(fcccp, fcc_gfemr, 0x20); 376 S8(fcccp, fcc_gfemr, 0x20);
@@ -396,7 +396,7 @@ static void restart(struct net_device *dev)
396 S32(fccp, fcc_fpsmr, FCC_PSMR_RMII); 396 S32(fccp, fcc_fpsmr, FCC_PSMR_RMII);
397 397
398 /* adjust to duplex mode */ 398 /* adjust to duplex mode */
399 if (fep->phydev->duplex) 399 if (dev->phydev->duplex)
400 S32(fccp, fcc_fpsmr, FCC_PSMR_FDE | FCC_PSMR_LPB); 400 S32(fccp, fcc_fpsmr, FCC_PSMR_FDE | FCC_PSMR_LPB);
401 else 401 else
402 C32(fccp, fcc_fpsmr, FCC_PSMR_FDE | FCC_PSMR_LPB); 402 C32(fccp, fcc_fpsmr, FCC_PSMR_FDE | FCC_PSMR_LPB);
diff --git a/drivers/net/ethernet/freescale/fs_enet/mac-fec.c b/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
index bade2f8f9b5c..35a318ed3a62 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
@@ -254,7 +254,7 @@ static void restart(struct net_device *dev)
254 int r; 254 int r;
255 u32 addrhi, addrlo; 255 u32 addrhi, addrlo;
256 256
257 struct mii_bus *mii = fep->phydev->mdio.bus; 257 struct mii_bus *mii = dev->phydev->mdio.bus;
258 struct fec_info* fec_inf = mii->priv; 258 struct fec_info* fec_inf = mii->priv;
259 259
260 r = whack_reset(fep->fec.fecp); 260 r = whack_reset(fep->fec.fecp);
@@ -333,7 +333,7 @@ static void restart(struct net_device *dev)
333 /* 333 /*
334 * adjust to duplex mode 334 * adjust to duplex mode
335 */ 335 */
336 if (fep->phydev->duplex) { 336 if (dev->phydev->duplex) {
337 FC(fecp, r_cntrl, FEC_RCNTRL_DRT); 337 FC(fecp, r_cntrl, FEC_RCNTRL_DRT);
338 FS(fecp, x_cntrl, FEC_TCNTRL_FDEN); /* FD enable */ 338 FS(fecp, x_cntrl, FEC_TCNTRL_FDEN); /* FD enable */
339 } else { 339 } else {
@@ -363,7 +363,7 @@ static void stop(struct net_device *dev)
363 const struct fs_platform_info *fpi = fep->fpi; 363 const struct fs_platform_info *fpi = fep->fpi;
364 struct fec __iomem *fecp = fep->fec.fecp; 364 struct fec __iomem *fecp = fep->fec.fecp;
365 365
366 struct fec_info *feci = fep->phydev->mdio.bus->priv; 366 struct fec_info *feci = dev->phydev->mdio.bus->priv;
367 367
368 int i; 368 int i;
369 369
diff --git a/drivers/net/ethernet/freescale/fs_enet/mac-scc.c b/drivers/net/ethernet/freescale/fs_enet/mac-scc.c
index 7a184e8816a4..e8b9c33d35b4 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mac-scc.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mac-scc.c
@@ -352,7 +352,7 @@ static void restart(struct net_device *dev)
352 W16(sccp, scc_psmr, SCC_PSMR_ENCRC | SCC_PSMR_NIB22); 352 W16(sccp, scc_psmr, SCC_PSMR_ENCRC | SCC_PSMR_NIB22);
353 353
354 /* Set full duplex mode if needed */ 354 /* Set full duplex mode if needed */
355 if (fep->phydev->duplex) 355 if (dev->phydev->duplex)
356 S16(sccp, scc_psmr, SCC_PSMR_LPB | SCC_PSMR_FDE); 356 S16(sccp, scc_psmr, SCC_PSMR_LPB | SCC_PSMR_FDE);
357 357
358 /* Restore multicast and promiscuous settings */ 358 /* Restore multicast and promiscuous settings */