Skip to content

Commit aac1561

Browse files
committed
net: Revert ksettings conversions.
Those were supposed to go into the net-next tree not the net tree. Oops... Signed-off-by: David S. Miller <[email protected]>
1 parent b793f08 commit aac1561

File tree

7 files changed

+188
-233
lines changed

7 files changed

+188
-233
lines changed

drivers/net/ethernet/smsc/smc911x.c

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,68 +1446,65 @@ static int smc911x_close(struct net_device *dev)
14461446
* Ethtool support
14471447
*/
14481448
static int
1449-
smc911x_ethtool_get_link_ksettings(struct net_device *dev,
1450-
struct ethtool_link_ksettings *cmd)
1449+
smc911x_ethtool_getsettings(struct net_device *dev, struct ethtool_cmd *cmd)
14511450
{
14521451
struct smc911x_local *lp = netdev_priv(dev);
14531452
int ret, status;
14541453
unsigned long flags;
1455-
u32 supported;
14561454

14571455
DBG(SMC_DEBUG_FUNC, dev, "--> %s\n", __func__);
1456+
cmd->maxtxpkt = 1;
1457+
cmd->maxrxpkt = 1;
14581458

14591459
if (lp->phy_type != 0) {
14601460
spin_lock_irqsave(&lp->lock, flags);
1461-
ret = mii_ethtool_get_link_ksettings(&lp->mii, cmd);
1461+
ret = mii_ethtool_gset(&lp->mii, cmd);
14621462
spin_unlock_irqrestore(&lp->lock, flags);
14631463
} else {
1464-
supported = SUPPORTED_10baseT_Half |
1464+
cmd->supported = SUPPORTED_10baseT_Half |
14651465
SUPPORTED_10baseT_Full |
14661466
SUPPORTED_TP | SUPPORTED_AUI;
14671467

14681468
if (lp->ctl_rspeed == 10)
1469-
cmd->base.speed = SPEED_10;
1469+
ethtool_cmd_speed_set(cmd, SPEED_10);
14701470
else if (lp->ctl_rspeed == 100)
1471-
cmd->base.speed = SPEED_100;
1472-
1473-
cmd->base.autoneg = AUTONEG_DISABLE;
1474-
cmd->base.port = 0;
1471+
ethtool_cmd_speed_set(cmd, SPEED_100);
1472+
1473+
cmd->autoneg = AUTONEG_DISABLE;
1474+
if (lp->mii.phy_id==1)
1475+
cmd->transceiver = XCVR_INTERNAL;
1476+
else
1477+
cmd->transceiver = XCVR_EXTERNAL;
1478+
cmd->port = 0;
14751479
SMC_GET_PHY_SPECIAL(lp, lp->mii.phy_id, status);
1476-
cmd->base.duplex =
1480+
cmd->duplex =
14771481
(status & (PHY_SPECIAL_SPD_10FULL_ | PHY_SPECIAL_SPD_100FULL_)) ?
14781482
DUPLEX_FULL : DUPLEX_HALF;
1479-
1480-
ethtool_convert_legacy_u32_to_link_mode(
1481-
cmd->link_modes.supported, supported);
1482-
14831483
ret = 0;
14841484
}
14851485

14861486
return ret;
14871487
}
14881488

14891489
static int
1490-
smc911x_ethtool_set_link_ksettings(struct net_device *dev,
1491-
const struct ethtool_link_ksettings *cmd)
1490+
smc911x_ethtool_setsettings(struct net_device *dev, struct ethtool_cmd *cmd)
14921491
{
14931492
struct smc911x_local *lp = netdev_priv(dev);
14941493
int ret;
14951494
unsigned long flags;
14961495

14971496
if (lp->phy_type != 0) {
14981497
spin_lock_irqsave(&lp->lock, flags);
1499-
ret = mii_ethtool_set_link_ksettings(&lp->mii, cmd);
1498+
ret = mii_ethtool_sset(&lp->mii, cmd);
15001499
spin_unlock_irqrestore(&lp->lock, flags);
15011500
} else {
1502-
if (cmd->base.autoneg != AUTONEG_DISABLE ||
1503-
cmd->base.speed != SPEED_10 ||
1504-
(cmd->base.duplex != DUPLEX_HALF &&
1505-
cmd->base.duplex != DUPLEX_FULL) ||
1506-
(cmd->base.port != PORT_TP &&
1507-
cmd->base.port != PORT_AUI))
1501+
if (cmd->autoneg != AUTONEG_DISABLE ||
1502+
cmd->speed != SPEED_10 ||
1503+
(cmd->duplex != DUPLEX_HALF && cmd->duplex != DUPLEX_FULL) ||
1504+
(cmd->port != PORT_TP && cmd->port != PORT_AUI))
15081505
return -EINVAL;
15091506

1510-
lp->ctl_rfduplx = cmd->base.duplex == DUPLEX_FULL;
1507+
lp->ctl_rfduplx = cmd->duplex == DUPLEX_FULL;
15111508

15121509
ret = 0;
15131510
}
@@ -1689,6 +1686,8 @@ static int smc911x_ethtool_geteeprom_len(struct net_device *dev)
16891686
}
16901687

16911688
static const struct ethtool_ops smc911x_ethtool_ops = {
1689+
.get_settings = smc911x_ethtool_getsettings,
1690+
.set_settings = smc911x_ethtool_setsettings,
16921691
.get_drvinfo = smc911x_ethtool_getdrvinfo,
16931692
.get_msglevel = smc911x_ethtool_getmsglevel,
16941693
.set_msglevel = smc911x_ethtool_setmsglevel,
@@ -1699,8 +1698,6 @@ static const struct ethtool_ops smc911x_ethtool_ops = {
16991698
.get_eeprom_len = smc911x_ethtool_geteeprom_len,
17001699
.get_eeprom = smc911x_ethtool_geteeprom,
17011700
.set_eeprom = smc911x_ethtool_seteeprom,
1702-
.get_link_ksettings = smc911x_ethtool_get_link_ksettings,
1703-
.set_link_ksettings = smc911x_ethtool_set_link_ksettings,
17041701
};
17051702

17061703
/*

drivers/net/ethernet/sun/cassini.c

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -691,8 +691,7 @@ static void cas_mif_poll(struct cas *cp, const int enable)
691691
}
692692

693693
/* Must be invoked under cp->lock */
694-
static void cas_begin_auto_negotiation(struct cas *cp,
695-
const struct ethtool_link_ksettings *ep)
694+
static void cas_begin_auto_negotiation(struct cas *cp, struct ethtool_cmd *ep)
696695
{
697696
u16 ctl;
698697
#if 1
@@ -705,16 +704,16 @@ static void cas_begin_auto_negotiation(struct cas *cp,
705704
if (!ep)
706705
goto start_aneg;
707706
lcntl = cp->link_cntl;
708-
if (ep->base.autoneg == AUTONEG_ENABLE) {
707+
if (ep->autoneg == AUTONEG_ENABLE)
709708
cp->link_cntl = BMCR_ANENABLE;
710-
} else {
711-
u32 speed = ep->base.speed;
709+
else {
710+
u32 speed = ethtool_cmd_speed(ep);
712711
cp->link_cntl = 0;
713712
if (speed == SPEED_100)
714713
cp->link_cntl |= BMCR_SPEED100;
715714
else if (speed == SPEED_1000)
716715
cp->link_cntl |= CAS_BMCR_SPEED1000;
717-
if (ep->base.duplex == DUPLEX_FULL)
716+
if (ep->duplex == DUPLEX_FULL)
718717
cp->link_cntl |= BMCR_FULLDPLX;
719718
}
720719
#if 1
@@ -4529,37 +4528,37 @@ static void cas_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info
45294528
strlcpy(info->bus_info, pci_name(cp->pdev), sizeof(info->bus_info));
45304529
}
45314530

4532-
static int cas_get_link_ksettings(struct net_device *dev,
4533-
struct ethtool_link_ksettings *cmd)
4531+
static int cas_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
45344532
{
45354533
struct cas *cp = netdev_priv(dev);
45364534
u16 bmcr;
45374535
int full_duplex, speed, pause;
45384536
unsigned long flags;
45394537
enum link_state linkstate = link_up;
4540-
u32 supported, advertising;
45414538

4542-
advertising = 0;
4543-
supported = SUPPORTED_Autoneg;
4539+
cmd->advertising = 0;
4540+
cmd->supported = SUPPORTED_Autoneg;
45444541
if (cp->cas_flags & CAS_FLAG_1000MB_CAP) {
4545-
supported |= SUPPORTED_1000baseT_Full;
4546-
advertising |= ADVERTISED_1000baseT_Full;
4542+
cmd->supported |= SUPPORTED_1000baseT_Full;
4543+
cmd->advertising |= ADVERTISED_1000baseT_Full;
45474544
}
45484545

45494546
/* Record PHY settings if HW is on. */
45504547
spin_lock_irqsave(&cp->lock, flags);
45514548
bmcr = 0;
45524549
linkstate = cp->lstate;
45534550
if (CAS_PHY_MII(cp->phy_type)) {
4554-
cmd->base.port = PORT_MII;
4555-
cmd->base.phy_address = cp->phy_addr;
4556-
advertising |= ADVERTISED_TP | ADVERTISED_MII |
4551+
cmd->port = PORT_MII;
4552+
cmd->transceiver = (cp->cas_flags & CAS_FLAG_SATURN) ?
4553+
XCVR_INTERNAL : XCVR_EXTERNAL;
4554+
cmd->phy_address = cp->phy_addr;
4555+
cmd->advertising |= ADVERTISED_TP | ADVERTISED_MII |
45574556
ADVERTISED_10baseT_Half |
45584557
ADVERTISED_10baseT_Full |
45594558
ADVERTISED_100baseT_Half |
45604559
ADVERTISED_100baseT_Full;
45614560

4562-
supported |=
4561+
cmd->supported |=
45634562
(SUPPORTED_10baseT_Half |
45644563
SUPPORTED_10baseT_Full |
45654564
SUPPORTED_100baseT_Half |
@@ -4575,10 +4574,11 @@ static int cas_get_link_ksettings(struct net_device *dev,
45754574
}
45764575

45774576
} else {
4578-
cmd->base.port = PORT_FIBRE;
4579-
cmd->base.phy_address = 0;
4580-
supported |= SUPPORTED_FIBRE;
4581-
advertising |= ADVERTISED_FIBRE;
4577+
cmd->port = PORT_FIBRE;
4578+
cmd->transceiver = XCVR_INTERNAL;
4579+
cmd->phy_address = 0;
4580+
cmd->supported |= SUPPORTED_FIBRE;
4581+
cmd->advertising |= ADVERTISED_FIBRE;
45824582

45834583
if (cp->hw_running) {
45844584
/* pcs uses the same bits as mii */
@@ -4590,20 +4590,21 @@ static int cas_get_link_ksettings(struct net_device *dev,
45904590
spin_unlock_irqrestore(&cp->lock, flags);
45914591

45924592
if (bmcr & BMCR_ANENABLE) {
4593-
advertising |= ADVERTISED_Autoneg;
4594-
cmd->base.autoneg = AUTONEG_ENABLE;
4595-
cmd->base.speed = ((speed == 10) ?
4593+
cmd->advertising |= ADVERTISED_Autoneg;
4594+
cmd->autoneg = AUTONEG_ENABLE;
4595+
ethtool_cmd_speed_set(cmd, ((speed == 10) ?
45964596
SPEED_10 :
45974597
((speed == 1000) ?
4598-
SPEED_1000 : SPEED_100));
4599-
cmd->base.duplex = full_duplex ? DUPLEX_FULL : DUPLEX_HALF;
4598+
SPEED_1000 : SPEED_100)));
4599+
cmd->duplex = full_duplex ? DUPLEX_FULL : DUPLEX_HALF;
46004600
} else {
4601-
cmd->base.autoneg = AUTONEG_DISABLE;
4602-
cmd->base.speed = ((bmcr & CAS_BMCR_SPEED1000) ?
4601+
cmd->autoneg = AUTONEG_DISABLE;
4602+
ethtool_cmd_speed_set(cmd, ((bmcr & CAS_BMCR_SPEED1000) ?
46034603
SPEED_1000 :
46044604
((bmcr & BMCR_SPEED100) ?
4605-
SPEED_100 : SPEED_10));
4606-
cmd->base.duplex = (bmcr & BMCR_FULLDPLX) ?
4605+
SPEED_100 : SPEED_10)));
4606+
cmd->duplex =
4607+
(bmcr & BMCR_FULLDPLX) ?
46074608
DUPLEX_FULL : DUPLEX_HALF;
46084609
}
46094610
if (linkstate != link_up) {
@@ -4618,46 +4619,39 @@ static int cas_get_link_ksettings(struct net_device *dev,
46184619
* settings that we configured.
46194620
*/
46204621
if (cp->link_cntl & BMCR_ANENABLE) {
4621-
cmd->base.speed = 0;
4622-
cmd->base.duplex = 0xff;
4622+
ethtool_cmd_speed_set(cmd, 0);
4623+
cmd->duplex = 0xff;
46234624
} else {
4624-
cmd->base.speed = SPEED_10;
4625+
ethtool_cmd_speed_set(cmd, SPEED_10);
46254626
if (cp->link_cntl & BMCR_SPEED100) {
4626-
cmd->base.speed = SPEED_100;
4627+
ethtool_cmd_speed_set(cmd, SPEED_100);
46274628
} else if (cp->link_cntl & CAS_BMCR_SPEED1000) {
4628-
cmd->base.speed = SPEED_1000;
4629+
ethtool_cmd_speed_set(cmd, SPEED_1000);
46294630
}
4630-
cmd->base.duplex = (cp->link_cntl & BMCR_FULLDPLX) ?
4631+
cmd->duplex = (cp->link_cntl & BMCR_FULLDPLX)?
46314632
DUPLEX_FULL : DUPLEX_HALF;
46324633
}
46334634
}
4634-
4635-
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
4636-
supported);
4637-
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising,
4638-
advertising);
4639-
46404635
return 0;
46414636
}
46424637

4643-
static int cas_set_link_ksettings(struct net_device *dev,
4644-
const struct ethtool_link_ksettings *cmd)
4638+
static int cas_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
46454639
{
46464640
struct cas *cp = netdev_priv(dev);
46474641
unsigned long flags;
4648-
u32 speed = cmd->base.speed;
4642+
u32 speed = ethtool_cmd_speed(cmd);
46494643

46504644
/* Verify the settings we care about. */
4651-
if (cmd->base.autoneg != AUTONEG_ENABLE &&
4652-
cmd->base.autoneg != AUTONEG_DISABLE)
4645+
if (cmd->autoneg != AUTONEG_ENABLE &&
4646+
cmd->autoneg != AUTONEG_DISABLE)
46534647
return -EINVAL;
46544648

4655-
if (cmd->base.autoneg == AUTONEG_DISABLE &&
4649+
if (cmd->autoneg == AUTONEG_DISABLE &&
46564650
((speed != SPEED_1000 &&
46574651
speed != SPEED_100 &&
46584652
speed != SPEED_10) ||
4659-
(cmd->base.duplex != DUPLEX_HALF &&
4660-
cmd->base.duplex != DUPLEX_FULL)))
4653+
(cmd->duplex != DUPLEX_HALF &&
4654+
cmd->duplex != DUPLEX_FULL)))
46614655
return -EINVAL;
46624656

46634657
/* Apply settings and restart link process. */
@@ -4759,6 +4753,8 @@ static void cas_get_ethtool_stats(struct net_device *dev,
47594753

47604754
static const struct ethtool_ops cas_ethtool_ops = {
47614755
.get_drvinfo = cas_get_drvinfo,
4756+
.get_settings = cas_get_settings,
4757+
.set_settings = cas_set_settings,
47624758
.nway_reset = cas_nway_reset,
47634759
.get_link = cas_get_link,
47644760
.get_msglevel = cas_get_msglevel,
@@ -4768,8 +4764,6 @@ static const struct ethtool_ops cas_ethtool_ops = {
47684764
.get_sset_count = cas_get_sset_count,
47694765
.get_strings = cas_get_strings,
47704766
.get_ethtool_stats = cas_get_ethtool_stats,
4771-
.get_link_ksettings = cas_get_link_ksettings,
4772-
.set_link_ksettings = cas_set_link_ksettings,
47734767
};
47744768

47754769
static int cas_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)

drivers/net/ethernet/sun/niu.c

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6813,39 +6813,36 @@ static void niu_get_drvinfo(struct net_device *dev,
68136813
sizeof(info->bus_info));
68146814
}
68156815

6816-
static int niu_get_link_ksettings(struct net_device *dev,
6817-
struct ethtool_link_ksettings *cmd)
6816+
static int niu_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
68186817
{
68196818
struct niu *np = netdev_priv(dev);
68206819
struct niu_link_config *lp;
68216820

68226821
lp = &np->link_config;
68236822

68246823
memset(cmd, 0, sizeof(*cmd));
6825-
cmd->base.phy_address = np->phy_addr;
6826-
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
6827-
lp->supported);
6828-
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising,
6829-
lp->active_advertising);
6830-
cmd->base.autoneg = lp->active_autoneg;
6831-
cmd->base.speed = lp->active_speed;
6832-
cmd->base.duplex = lp->active_duplex;
6833-
cmd->base.port = (np->flags & NIU_FLAGS_FIBER) ? PORT_FIBRE : PORT_TP;
6824+
cmd->phy_address = np->phy_addr;
6825+
cmd->supported = lp->supported;
6826+
cmd->advertising = lp->active_advertising;
6827+
cmd->autoneg = lp->active_autoneg;
6828+
ethtool_cmd_speed_set(cmd, lp->active_speed);
6829+
cmd->duplex = lp->active_duplex;
6830+
cmd->port = (np->flags & NIU_FLAGS_FIBER) ? PORT_FIBRE : PORT_TP;
6831+
cmd->transceiver = (np->flags & NIU_FLAGS_XCVR_SERDES) ?
6832+
XCVR_EXTERNAL : XCVR_INTERNAL;
68346833

68356834
return 0;
68366835
}
68376836

6838-
static int niu_set_link_ksettings(struct net_device *dev,
6839-
const struct ethtool_link_ksettings *cmd)
6837+
static int niu_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
68406838
{
68416839
struct niu *np = netdev_priv(dev);
68426840
struct niu_link_config *lp = &np->link_config;
68436841

6844-
ethtool_convert_link_mode_to_legacy_u32(&lp->advertising,
6845-
cmd->link_modes.advertising);
6846-
lp->speed = cmd->base.speed;
6847-
lp->duplex = cmd->base.duplex;
6848-
lp->autoneg = cmd->base.autoneg;
6842+
lp->advertising = cmd->advertising;
6843+
lp->speed = ethtool_cmd_speed(cmd);
6844+
lp->duplex = cmd->duplex;
6845+
lp->autoneg = cmd->autoneg;
68496846
return niu_init_link(np);
68506847
}
68516848

@@ -7905,14 +7902,14 @@ static const struct ethtool_ops niu_ethtool_ops = {
79057902
.nway_reset = niu_nway_reset,
79067903
.get_eeprom_len = niu_get_eeprom_len,
79077904
.get_eeprom = niu_get_eeprom,
7905+
.get_settings = niu_get_settings,
7906+
.set_settings = niu_set_settings,
79087907
.get_strings = niu_get_strings,
79097908
.get_sset_count = niu_get_sset_count,
79107909
.get_ethtool_stats = niu_get_ethtool_stats,
79117910
.set_phys_id = niu_set_phys_id,
79127911
.get_rxnfc = niu_get_nfc,
79137912
.set_rxnfc = niu_set_nfc,
7914-
.get_link_ksettings = niu_get_link_ksettings,
7915-
.set_link_ksettings = niu_set_link_ksettings,
79167913
};
79177914

79187915
static int niu_ldg_assign_ldn(struct niu *np, struct niu_parent *parent,

0 commit comments

Comments
 (0)