@@ -47,7 +47,7 @@ static inline int arc_emac_tx_avail(struct arc_emac_priv *priv)
47
47
static void arc_emac_adjust_link (struct net_device * ndev )
48
48
{
49
49
struct arc_emac_priv * priv = netdev_priv (ndev );
50
- struct phy_device * phy_dev = priv -> phy_dev ;
50
+ struct phy_device * phy_dev = ndev -> phydev ;
51
51
unsigned int reg , state_changed = 0 ;
52
52
53
53
if (priv -> link != phy_dev -> link ) {
@@ -92,9 +92,7 @@ static void arc_emac_adjust_link(struct net_device *ndev)
92
92
static int arc_emac_get_settings (struct net_device * ndev ,
93
93
struct ethtool_cmd * cmd )
94
94
{
95
- struct arc_emac_priv * priv = netdev_priv (ndev );
96
-
97
- return phy_ethtool_gset (priv -> phy_dev , cmd );
95
+ return phy_ethtool_gset (ndev -> phydev , cmd );
98
96
}
99
97
100
98
/**
@@ -111,12 +109,10 @@ static int arc_emac_get_settings(struct net_device *ndev,
111
109
static int arc_emac_set_settings (struct net_device * ndev ,
112
110
struct ethtool_cmd * cmd )
113
111
{
114
- struct arc_emac_priv * priv = netdev_priv (ndev );
115
-
116
112
if (!capable (CAP_NET_ADMIN ))
117
113
return - EPERM ;
118
114
119
- return phy_ethtool_sset (priv -> phy_dev , cmd );
115
+ return phy_ethtool_sset (ndev -> phydev , cmd );
120
116
}
121
117
122
118
/**
@@ -403,7 +399,7 @@ static void arc_emac_poll_controller(struct net_device *dev)
403
399
static int arc_emac_open (struct net_device * ndev )
404
400
{
405
401
struct arc_emac_priv * priv = netdev_priv (ndev );
406
- struct phy_device * phy_dev = priv -> phy_dev ;
402
+ struct phy_device * phy_dev = ndev -> phydev ;
407
403
int i ;
408
404
409
405
phy_dev -> autoneg = AUTONEG_ENABLE ;
@@ -474,7 +470,7 @@ static int arc_emac_open(struct net_device *ndev)
474
470
/* Enable EMAC */
475
471
arc_reg_or (priv , R_CTRL , EN_MASK );
476
472
477
- phy_start_aneg (priv -> phy_dev );
473
+ phy_start_aneg (ndev -> phydev );
478
474
479
475
netif_start_queue (ndev );
480
476
@@ -772,6 +768,7 @@ int arc_emac_probe(struct net_device *ndev, int interface)
772
768
struct device * dev = ndev -> dev .parent ;
773
769
struct resource res_regs ;
774
770
struct device_node * phy_node ;
771
+ struct phy_device * phydev = NULL ;
775
772
struct arc_emac_priv * priv ;
776
773
const char * mac_addr ;
777
774
unsigned int id , clock_frequency , irq ;
@@ -887,16 +884,16 @@ int arc_emac_probe(struct net_device *ndev, int interface)
887
884
goto out_clken ;
888
885
}
889
886
890
- priv -> phy_dev = of_phy_connect (ndev , phy_node , arc_emac_adjust_link , 0 ,
891
- interface );
892
- if (!priv -> phy_dev ) {
887
+ phydev = of_phy_connect (ndev , phy_node , arc_emac_adjust_link , 0 ,
888
+ interface );
889
+ if (!phydev ) {
893
890
dev_err (dev , "of_phy_connect() failed\n" );
894
891
err = - ENODEV ;
895
892
goto out_mdio ;
896
893
}
897
894
898
895
dev_info (dev , "connected to %s phy with id 0x%x\n" ,
899
- priv -> phy_dev -> drv -> name , priv -> phy_dev -> phy_id );
896
+ phydev -> drv -> name , phydev -> phy_id );
900
897
901
898
netif_napi_add (ndev , & priv -> napi , arc_emac_poll , ARC_EMAC_NAPI_WEIGHT );
902
899
@@ -910,8 +907,7 @@ int arc_emac_probe(struct net_device *ndev, int interface)
910
907
911
908
out_netif_api :
912
909
netif_napi_del (& priv -> napi );
913
- phy_disconnect (priv -> phy_dev );
914
- priv -> phy_dev = NULL ;
910
+ phy_disconnect (phydev );
915
911
out_mdio :
916
912
arc_mdio_remove (priv );
917
913
out_clken :
@@ -925,8 +921,7 @@ int arc_emac_remove(struct net_device *ndev)
925
921
{
926
922
struct arc_emac_priv * priv = netdev_priv (ndev );
927
923
928
- phy_disconnect (priv -> phy_dev );
929
- priv -> phy_dev = NULL ;
924
+ phy_disconnect (ndev -> phydev );
930
925
arc_mdio_remove (priv );
931
926
unregister_netdev (ndev );
932
927
netif_napi_del (& priv -> napi );
0 commit comments