On Wed, 1 Jul 2020 15:55:10 +0100 Edward Cree wrote: > Also, condition on revision in ethtool drvinfo: if rev is EF100, then > we must be the sfc_ef100 driver. (We can't rely on KBUILD_MODNAME > any more, because ethtool_common.o gets linked into both drivers.) > > Signed-off-by: Edward Cree <ec...@solarflare.com> > --- > drivers/net/ethernet/sfc/ethtool_common.c | 5 ++++- > drivers/net/ethernet/sfc/nic_common.h | 1 + > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/sfc/ethtool_common.c > b/drivers/net/ethernet/sfc/ethtool_common.c > index 37a4409e759e..926deb22ee67 100644 > --- a/drivers/net/ethernet/sfc/ethtool_common.c > +++ b/drivers/net/ethernet/sfc/ethtool_common.c > @@ -104,7 +104,10 @@ void efx_ethtool_get_drvinfo(struct net_device *net_dev, > { > struct efx_nic *efx = netdev_priv(net_dev); > > - strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver)); > + if (efx->type->revision == EFX_REV_EF100) > + strlcpy(info->driver, "sfc_ef100", sizeof(info->driver)); > + else > + strlcpy(info->driver, "sfc", sizeof(info->driver));
ethtool info -> driver does not seem like an appropriate place to report hardware version. > strlcpy(info->version, EFX_DRIVER_VERSION, sizeof(info->version)); > efx_mcdi_print_fwver(efx, info->fw_version, > sizeof(info->fw_version)); > diff --git a/drivers/net/ethernet/sfc/nic_common.h > b/drivers/net/ethernet/sfc/nic_common.h > index 813f288ab3fe..e04b6817cde3 100644 > --- a/drivers/net/ethernet/sfc/nic_common.h > +++ b/drivers/net/ethernet/sfc/nic_common.h > @@ -21,6 +21,7 @@ enum { > */ > EFX_REV_SIENA_A0 = 3, > EFX_REV_HUNT_A0 = 4, > + EFX_REV_EF100 = 5, > }; > > static inline int efx_nic_rev(struct efx_nic *efx) >