Skip to content

Commit 86573f6

Browse files
Philippe Reynesdavem330
authored andcommitted
net: tehuti: use new api ethtool_{get|set}_link_ksettings
The ethtool api {get|set}_settings is deprecated. We move this driver to new api {get|set}_link_ksettings. As I don't have the hardware, I'd be very pleased if someone may test this patch. Signed-off-by: Philippe Reynes <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent bb37056 commit 86573f6

File tree

1 file changed

+18
-25
lines changed

1 file changed

+18
-25
lines changed

drivers/net/ethernet/tehuti/tehuti.c

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2124,33 +2124,26 @@ static const char
21242124
};
21252125

21262126
/*
2127-
* bdx_get_settings - get device-specific settings
2127+
* bdx_get_link_ksettings - get device-specific settings
21282128
* @netdev
21292129
* @ecmd
21302130
*/
2131-
static int bdx_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
2132-
{
2133-
u32 rdintcm;
2134-
u32 tdintcm;
2135-
struct bdx_priv *priv = netdev_priv(netdev);
2136-
2137-
rdintcm = priv->rdintcm;
2138-
tdintcm = priv->tdintcm;
2139-
2140-
ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE);
2141-
ecmd->advertising = (ADVERTISED_10000baseT_Full | ADVERTISED_FIBRE);
2142-
ethtool_cmd_speed_set(ecmd, SPEED_10000);
2143-
ecmd->duplex = DUPLEX_FULL;
2144-
ecmd->port = PORT_FIBRE;
2145-
ecmd->transceiver = XCVR_EXTERNAL; /* what does it mean? */
2146-
ecmd->autoneg = AUTONEG_DISABLE;
2147-
2148-
/* PCK_TH measures in multiples of FIFO bytes
2149-
We translate to packets */
2150-
ecmd->maxtxpkt =
2151-
((GET_PCK_TH(tdintcm) * PCK_TH_MULT) / BDX_TXF_DESC_SZ);
2152-
ecmd->maxrxpkt =
2153-
((GET_PCK_TH(rdintcm) * PCK_TH_MULT) / sizeof(struct rxf_desc));
2131+
static int bdx_get_link_ksettings(struct net_device *netdev,
2132+
struct ethtool_link_ksettings *ecmd)
2133+
{
2134+
ethtool_link_ksettings_zero_link_mode(ecmd, supported);
2135+
ethtool_link_ksettings_add_link_mode(ecmd, supported,
2136+
10000baseT_Full);
2137+
ethtool_link_ksettings_add_link_mode(ecmd, supported, FIBRE);
2138+
ethtool_link_ksettings_zero_link_mode(ecmd, advertising);
2139+
ethtool_link_ksettings_add_link_mode(ecmd, advertising,
2140+
10000baseT_Full);
2141+
ethtool_link_ksettings_add_link_mode(ecmd, advertising, FIBRE);
2142+
2143+
ecmd->base.speed = SPEED_10000;
2144+
ecmd->base.duplex = DUPLEX_FULL;
2145+
ecmd->base.port = PORT_FIBRE;
2146+
ecmd->base.autoneg = AUTONEG_DISABLE;
21542147

21552148
return 0;
21562149
}
@@ -2384,7 +2377,6 @@ static void bdx_get_ethtool_stats(struct net_device *netdev,
23842377
static void bdx_set_ethtool_ops(struct net_device *netdev)
23852378
{
23862379
static const struct ethtool_ops bdx_ethtool_ops = {
2387-
.get_settings = bdx_get_settings,
23882380
.get_drvinfo = bdx_get_drvinfo,
23892381
.get_link = ethtool_op_get_link,
23902382
.get_coalesce = bdx_get_coalesce,
@@ -2394,6 +2386,7 @@ static void bdx_set_ethtool_ops(struct net_device *netdev)
23942386
.get_strings = bdx_get_strings,
23952387
.get_sset_count = bdx_get_sset_count,
23962388
.get_ethtool_stats = bdx_get_ethtool_stats,
2389+
.get_link_ksettings = bdx_get_link_ksettings,
23972390
};
23982391

23992392
netdev->ethtool_ops = &bdx_ethtool_ops;

0 commit comments

Comments
 (0)