Commit cf901656 authored by Philippe Reynes's avatar Philippe Reynes Committed by David S. Miller

net: myricom: myri10ge: 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: default avatarPhilippe Reynes <tremyfr@gmail.com>
Acked-by: default avatarHyong-Youb Kim <hykim@myri.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 60fdcfa5
...@@ -1610,15 +1610,16 @@ static irqreturn_t myri10ge_intr(int irq, void *arg) ...@@ -1610,15 +1610,16 @@ static irqreturn_t myri10ge_intr(int irq, void *arg)
} }
static int static int
myri10ge_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd) myri10ge_get_link_ksettings(struct net_device *netdev,
struct ethtool_link_ksettings *cmd)
{ {
struct myri10ge_priv *mgp = netdev_priv(netdev); struct myri10ge_priv *mgp = netdev_priv(netdev);
char *ptr; char *ptr;
int i; int i;
cmd->autoneg = AUTONEG_DISABLE; cmd->base.autoneg = AUTONEG_DISABLE;
ethtool_cmd_speed_set(cmd, SPEED_10000); cmd->base.speed = SPEED_10000;
cmd->duplex = DUPLEX_FULL; cmd->base.duplex = DUPLEX_FULL;
/* /*
* parse the product code to deterimine the interface type * parse the product code to deterimine the interface type
...@@ -1643,16 +1644,12 @@ myri10ge_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd) ...@@ -1643,16 +1644,12 @@ myri10ge_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd)
ptr++; ptr++;
if (*ptr == 'R' || *ptr == 'Q' || *ptr == 'S') { if (*ptr == 'R' || *ptr == 'Q' || *ptr == 'S') {
/* We've found either an XFP, quad ribbon fiber, or SFP+ */ /* We've found either an XFP, quad ribbon fiber, or SFP+ */
cmd->port = PORT_FIBRE; cmd->base.port = PORT_FIBRE;
cmd->supported |= SUPPORTED_FIBRE; ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
cmd->advertising |= ADVERTISED_FIBRE; ethtool_link_ksettings_add_link_mode(cmd, advertising, FIBRE);
} else { } else {
cmd->port = PORT_OTHER; cmd->base.port = PORT_OTHER;
} }
if (*ptr == 'R' || *ptr == 'S')
cmd->transceiver = XCVR_EXTERNAL;
else
cmd->transceiver = XCVR_INTERNAL;
return 0; return 0;
} }
...@@ -1925,7 +1922,6 @@ myri10ge_phys_id(struct net_device *netdev, enum ethtool_phys_id_state state) ...@@ -1925,7 +1922,6 @@ myri10ge_phys_id(struct net_device *netdev, enum ethtool_phys_id_state state)
} }
static const struct ethtool_ops myri10ge_ethtool_ops = { static const struct ethtool_ops myri10ge_ethtool_ops = {
.get_settings = myri10ge_get_settings,
.get_drvinfo = myri10ge_get_drvinfo, .get_drvinfo = myri10ge_get_drvinfo,
.get_coalesce = myri10ge_get_coalesce, .get_coalesce = myri10ge_get_coalesce,
.set_coalesce = myri10ge_set_coalesce, .set_coalesce = myri10ge_set_coalesce,
...@@ -1939,6 +1935,7 @@ static const struct ethtool_ops myri10ge_ethtool_ops = { ...@@ -1939,6 +1935,7 @@ static const struct ethtool_ops myri10ge_ethtool_ops = {
.set_msglevel = myri10ge_set_msglevel, .set_msglevel = myri10ge_set_msglevel,
.get_msglevel = myri10ge_get_msglevel, .get_msglevel = myri10ge_get_msglevel,
.set_phys_id = myri10ge_phys_id, .set_phys_id = myri10ge_phys_id,
.get_link_ksettings = myri10ge_get_link_ksettings,
}; };
static int myri10ge_allocate_rings(struct myri10ge_slice_state *ss) static int myri10ge_allocate_rings(struct myri10ge_slice_state *ss)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment