@@ -114,7 +114,6 @@ struct smsc911x_data {
114
114
/* spinlock to ensure register accesses are serialised */
115
115
spinlock_t dev_lock ;
116
116
117
- struct phy_device * phy_dev ;
118
117
struct mii_bus * mii_bus ;
119
118
unsigned int using_extphy ;
120
119
int last_duplex ;
@@ -833,7 +832,7 @@ static int smsc911x_phy_reset(struct smsc911x_data *pdata)
833
832
static int smsc911x_phy_loopbacktest (struct net_device * dev )
834
833
{
835
834
struct smsc911x_data * pdata = netdev_priv (dev );
836
- struct phy_device * phy_dev = pdata -> phy_dev ;
835
+ struct phy_device * phy_dev = dev -> phydev ;
837
836
int result = - EIO ;
838
837
unsigned int i , val ;
839
838
unsigned long flags ;
@@ -903,7 +902,8 @@ static int smsc911x_phy_loopbacktest(struct net_device *dev)
903
902
904
903
static void smsc911x_phy_update_flowcontrol (struct smsc911x_data * pdata )
905
904
{
906
- struct phy_device * phy_dev = pdata -> phy_dev ;
905
+ struct net_device * ndev = pdata -> dev ;
906
+ struct phy_device * phy_dev = ndev -> phydev ;
907
907
u32 afc = smsc911x_reg_read (pdata , AFC_CFG );
908
908
u32 flow ;
909
909
unsigned long flags ;
@@ -944,7 +944,7 @@ static void smsc911x_phy_update_flowcontrol(struct smsc911x_data *pdata)
944
944
static void smsc911x_phy_adjust_link (struct net_device * dev )
945
945
{
946
946
struct smsc911x_data * pdata = netdev_priv (dev );
947
- struct phy_device * phy_dev = pdata -> phy_dev ;
947
+ struct phy_device * phy_dev = dev -> phydev ;
948
948
unsigned long flags ;
949
949
int carrier ;
950
950
@@ -1037,7 +1037,6 @@ static int smsc911x_mii_probe(struct net_device *dev)
1037
1037
SUPPORTED_Asym_Pause );
1038
1038
phydev -> advertising = phydev -> supported ;
1039
1039
1040
- pdata -> phy_dev = phydev ;
1041
1040
pdata -> last_duplex = -1 ;
1042
1041
pdata -> last_carrier = -1 ;
1043
1042
@@ -1338,9 +1337,11 @@ static void smsc911x_rx_multicast_update_workaround(struct smsc911x_data *pdata)
1338
1337
1339
1338
static int smsc911x_phy_general_power_up (struct smsc911x_data * pdata )
1340
1339
{
1340
+ struct net_device * ndev = pdata -> dev ;
1341
+ struct phy_device * phy_dev = ndev -> phydev ;
1341
1342
int rc = 0 ;
1342
1343
1343
- if (!pdata -> phy_dev )
1344
+ if (!phy_dev )
1344
1345
return rc ;
1345
1346
1346
1347
/* If the internal PHY is in General Power-Down mode, all, except the
@@ -1350,7 +1351,7 @@ static int smsc911x_phy_general_power_up(struct smsc911x_data *pdata)
1350
1351
* In that case, clear the bit 0.11, so the PHY powers up and we can
1351
1352
* access to the phy registers.
1352
1353
*/
1353
- rc = phy_read (pdata -> phy_dev , MII_BMCR );
1354
+ rc = phy_read (phy_dev , MII_BMCR );
1354
1355
if (rc < 0 ) {
1355
1356
SMSC_WARN (pdata , drv , "Failed reading PHY control reg" );
1356
1357
return rc ;
@@ -1360,7 +1361,7 @@ static int smsc911x_phy_general_power_up(struct smsc911x_data *pdata)
1360
1361
* disable the general power down-mode.
1361
1362
*/
1362
1363
if (rc & BMCR_PDOWN ) {
1363
- rc = phy_write (pdata -> phy_dev , MII_BMCR , rc & ~BMCR_PDOWN );
1364
+ rc = phy_write (phy_dev , MII_BMCR , rc & ~BMCR_PDOWN );
1364
1365
if (rc < 0 ) {
1365
1366
SMSC_WARN (pdata , drv , "Failed writing PHY control reg" );
1366
1367
return rc ;
@@ -1374,12 +1375,14 @@ static int smsc911x_phy_general_power_up(struct smsc911x_data *pdata)
1374
1375
1375
1376
static int smsc911x_phy_disable_energy_detect (struct smsc911x_data * pdata )
1376
1377
{
1378
+ struct net_device * ndev = pdata -> dev ;
1379
+ struct phy_device * phy_dev = ndev -> phydev ;
1377
1380
int rc = 0 ;
1378
1381
1379
- if (!pdata -> phy_dev )
1382
+ if (!phy_dev )
1380
1383
return rc ;
1381
1384
1382
- rc = phy_read (pdata -> phy_dev , MII_LAN83C185_CTRL_STATUS );
1385
+ rc = phy_read (phy_dev , MII_LAN83C185_CTRL_STATUS );
1383
1386
1384
1387
if (rc < 0 ) {
1385
1388
SMSC_WARN (pdata , drv , "Failed reading PHY control reg" );
@@ -1389,7 +1392,7 @@ static int smsc911x_phy_disable_energy_detect(struct smsc911x_data *pdata)
1389
1392
/* Only disable if energy detect mode is already enabled */
1390
1393
if (rc & MII_LAN83C185_EDPWRDOWN ) {
1391
1394
/* Disable energy detect mode for this SMSC Transceivers */
1392
- rc = phy_write (pdata -> phy_dev , MII_LAN83C185_CTRL_STATUS ,
1395
+ rc = phy_write (phy_dev , MII_LAN83C185_CTRL_STATUS ,
1393
1396
rc & (~MII_LAN83C185_EDPWRDOWN ));
1394
1397
1395
1398
if (rc < 0 ) {
@@ -1405,12 +1408,14 @@ static int smsc911x_phy_disable_energy_detect(struct smsc911x_data *pdata)
1405
1408
1406
1409
static int smsc911x_phy_enable_energy_detect (struct smsc911x_data * pdata )
1407
1410
{
1411
+ struct net_device * ndev = pdata -> dev ;
1412
+ struct phy_device * phy_dev = ndev -> phydev ;
1408
1413
int rc = 0 ;
1409
1414
1410
- if (!pdata -> phy_dev )
1415
+ if (!phy_dev )
1411
1416
return rc ;
1412
1417
1413
- rc = phy_read (pdata -> phy_dev , MII_LAN83C185_CTRL_STATUS );
1418
+ rc = phy_read (phy_dev , MII_LAN83C185_CTRL_STATUS );
1414
1419
1415
1420
if (rc < 0 ) {
1416
1421
SMSC_WARN (pdata , drv , "Failed reading PHY control reg" );
@@ -1420,7 +1425,7 @@ static int smsc911x_phy_enable_energy_detect(struct smsc911x_data *pdata)
1420
1425
/* Only enable if energy detect mode is already disabled */
1421
1426
if (!(rc & MII_LAN83C185_EDPWRDOWN )) {
1422
1427
/* Enable energy detect mode for this SMSC Transceivers */
1423
- rc = phy_write (pdata -> phy_dev , MII_LAN83C185_CTRL_STATUS ,
1428
+ rc = phy_write (phy_dev , MII_LAN83C185_CTRL_STATUS ,
1424
1429
rc | MII_LAN83C185_EDPWRDOWN );
1425
1430
1426
1431
if (rc < 0 ) {
@@ -1517,7 +1522,7 @@ static int smsc911x_open(struct net_device *dev)
1517
1522
unsigned int intcfg ;
1518
1523
1519
1524
/* if the phy is not yet registered, retry later*/
1520
- if (!pdata -> phy_dev ) {
1525
+ if (!dev -> phydev ) {
1521
1526
SMSC_WARN (pdata , hw , "phy_dev is NULL" );
1522
1527
return - EAGAIN ;
1523
1528
}
@@ -1608,7 +1613,7 @@ static int smsc911x_open(struct net_device *dev)
1608
1613
pdata -> last_carrier = -1 ;
1609
1614
1610
1615
/* Bring the PHY up */
1611
- phy_start (pdata -> phy_dev );
1616
+ phy_start (dev -> phydev );
1612
1617
1613
1618
temp = smsc911x_reg_read (pdata , HW_CFG );
1614
1619
/* Preserve TX FIFO size and external PHY configuration */
@@ -1663,8 +1668,8 @@ static int smsc911x_stop(struct net_device *dev)
1663
1668
smsc911x_tx_update_txcounters (dev );
1664
1669
1665
1670
/* Bring the PHY down */
1666
- if (pdata -> phy_dev )
1667
- phy_stop (pdata -> phy_dev );
1671
+ if (dev -> phydev )
1672
+ phy_stop (dev -> phydev );
1668
1673
1669
1674
SMSC_TRACE (pdata , ifdown , "Interface stopped" );
1670
1675
return 0 ;
@@ -1904,30 +1909,24 @@ static int smsc911x_set_mac_address(struct net_device *dev, void *p)
1904
1909
/* Standard ioctls for mii-tool */
1905
1910
static int smsc911x_do_ioctl (struct net_device * dev , struct ifreq * ifr , int cmd )
1906
1911
{
1907
- struct smsc911x_data * pdata = netdev_priv (dev );
1908
-
1909
- if (!netif_running (dev ) || !pdata -> phy_dev )
1912
+ if (!netif_running (dev ) || !dev -> phydev )
1910
1913
return - EINVAL ;
1911
1914
1912
- return phy_mii_ioctl (pdata -> phy_dev , ifr , cmd );
1915
+ return phy_mii_ioctl (dev -> phydev , ifr , cmd );
1913
1916
}
1914
1917
1915
1918
static int
1916
1919
smsc911x_ethtool_getsettings (struct net_device * dev , struct ethtool_cmd * cmd )
1917
1920
{
1918
- struct smsc911x_data * pdata = netdev_priv (dev );
1919
-
1920
1921
cmd -> maxtxpkt = 1 ;
1921
1922
cmd -> maxrxpkt = 1 ;
1922
- return phy_ethtool_gset (pdata -> phy_dev , cmd );
1923
+ return phy_ethtool_gset (dev -> phydev , cmd );
1923
1924
}
1924
1925
1925
1926
static int
1926
1927
smsc911x_ethtool_setsettings (struct net_device * dev , struct ethtool_cmd * cmd )
1927
1928
{
1928
- struct smsc911x_data * pdata = netdev_priv (dev );
1929
-
1930
- return phy_ethtool_sset (pdata -> phy_dev , cmd );
1929
+ return phy_ethtool_sset (dev -> phydev , cmd );
1931
1930
}
1932
1931
1933
1932
static void smsc911x_ethtool_getdrvinfo (struct net_device * dev ,
@@ -1941,9 +1940,7 @@ static void smsc911x_ethtool_getdrvinfo(struct net_device *dev,
1941
1940
1942
1941
static int smsc911x_ethtool_nwayreset (struct net_device * dev )
1943
1942
{
1944
- struct smsc911x_data * pdata = netdev_priv (dev );
1945
-
1946
- return phy_start_aneg (pdata -> phy_dev );
1943
+ return phy_start_aneg (dev -> phydev );
1947
1944
}
1948
1945
1949
1946
static u32 smsc911x_ethtool_getmsglevel (struct net_device * dev )
@@ -1969,7 +1966,7 @@ smsc911x_ethtool_getregs(struct net_device *dev, struct ethtool_regs *regs,
1969
1966
void * buf )
1970
1967
{
1971
1968
struct smsc911x_data * pdata = netdev_priv (dev );
1972
- struct phy_device * phy_dev = pdata -> phy_dev ;
1969
+ struct phy_device * phy_dev = dev -> phydev ;
1973
1970
unsigned long flags ;
1974
1971
unsigned int i ;
1975
1972
unsigned int j = 0 ;
@@ -2308,12 +2305,11 @@ static int smsc911x_drv_remove(struct platform_device *pdev)
2308
2305
pdata = netdev_priv (dev );
2309
2306
BUG_ON (!pdata );
2310
2307
BUG_ON (!pdata -> ioaddr );
2311
- BUG_ON (!pdata -> phy_dev );
2308
+ BUG_ON (!dev -> phydev );
2312
2309
2313
2310
SMSC_TRACE (pdata , ifdown , "Stopping driver" );
2314
2311
2315
- phy_disconnect (pdata -> phy_dev );
2316
- pdata -> phy_dev = NULL ;
2312
+ phy_disconnect (dev -> phydev );
2317
2313
mdiobus_unregister (pdata -> mii_bus );
2318
2314
mdiobus_free (pdata -> mii_bus );
2319
2315
0 commit comments