Re: [PATCH mlx5-next v1 03/11] net/mlx5_core: Clean driver version and name

From: Leon Romanovsky
Date: Mon Nov 02 2020 - 00:56:35 EST


On Mon, Nov 02, 2020 at 05:07:59AM +0000, Parav Pandit wrote:
>
>
> > From: Leon Romanovsky <leon@xxxxxxxxxx>
> > Sent: Monday, November 2, 2020 1:46 AM
> >
> > From: Leon Romanovsky <leonro@xxxxxxxxxx>
> >
> > Remove exposed driver version as it was done in other drivers, so module
> > version will work correctly by displaying the kernel version for which it is
> > compiled.
> >
> > And move mlx5_core module name to general include, so auxiliary drivers
> > will be able to use it as a basis for a name in their device ID tables.
> >
> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx>
> > ---
> > drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 2 +-
> > drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 4 +---
> > drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 1 -
> > .../net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c | 2 +-
> > drivers/net/ethernet/mellanox/mlx5/core/main.c | 11 +++++++----
> > drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h | 3 ---
> > include/linux/mlx5/driver.h | 2 ++
> > 7 files changed, 12 insertions(+), 13 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
> > b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
> > index a28f95df2901..1a351e2f6ace 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
> > @@ -52,7 +52,7 @@ mlx5_devlink_info_get(struct devlink *devlink, struct
> > devlink_info_req *req,
> > u32 running_fw, stored_fw;
> > int err;
> >
> > - err = devlink_info_driver_name_put(req, DRIVER_NAME);
> > + err = devlink_info_driver_name_put(req, KBUILD_MODNAME);
> > if (err)
> > return err;
> >
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
> > b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
> > index d25a56ec6876..bcff18a87bcd 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
> > @@ -40,9 +40,7 @@ void mlx5e_ethtool_get_drvinfo(struct mlx5e_priv
> > *priv, {
> > struct mlx5_core_dev *mdev = priv->mdev;
> >
> > - strlcpy(drvinfo->driver, DRIVER_NAME, sizeof(drvinfo->driver));
> > - strlcpy(drvinfo->version, DRIVER_VERSION,
> > - sizeof(drvinfo->version));
> > + strlcpy(drvinfo->driver, KBUILD_MODNAME, sizeof(drvinfo-
> > >driver));
> > snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
> > "%d.%d.%04d (%.16s)",
> > fw_rev_maj(mdev), fw_rev_min(mdev),
> > fw_rev_sub(mdev), diff --git
> > a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
> > b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
> > index 67247c33b9fd..ef2f8889ba0f 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
> > @@ -64,7 +64,6 @@ static void mlx5e_rep_get_drvinfo(struct net_device
> > *dev,
> >
> > strlcpy(drvinfo->driver, mlx5e_rep_driver_name,
> > sizeof(drvinfo->driver));
> > - strlcpy(drvinfo->version, UTS_RELEASE, sizeof(drvinfo->version));
> > snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
> > "%d.%d.%04d (%.16s)",
> > fw_rev_maj(mdev), fw_rev_min(mdev),
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c
> > b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c
> > index cac8f085b16d..97d96fc38a65 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c
> > @@ -39,7 +39,7 @@ static void mlx5i_get_drvinfo(struct net_device *dev,
> > struct mlx5e_priv *priv = mlx5i_epriv(dev);
> >
> > mlx5e_ethtool_get_drvinfo(priv, drvinfo);
> > - strlcpy(drvinfo->driver, DRIVER_NAME "[ib_ipoib]",
> > + strlcpy(drvinfo->driver, KBUILD_MODNAME "[ib_ipoib]",
> > sizeof(drvinfo->driver));
> > }
> >
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c
> > b/drivers/net/ethernet/mellanox/mlx5/core/main.c
> > index 71e210f22f69..9827127cb674 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
> > @@ -77,7 +77,6 @@
> > MODULE_AUTHOR("Eli Cohen <eli@xxxxxxxxxxxx>");
> > MODULE_DESCRIPTION("Mellanox 5th generation network adapters
> > (ConnectX series) core driver"); MODULE_LICENSE("Dual BSD/GPL"); -
> > MODULE_VERSION(DRIVER_VERSION);
> >
> > unsigned int mlx5_core_debug_mask;
> > module_param_named(debug_mask, mlx5_core_debug_mask, uint, 0644);
> > @@ -228,7 +227,7 @@ static void mlx5_set_driver_version(struct
> > mlx5_core_dev *dev)
> > strncat(string, ",", remaining_size);
> >
> > remaining_size = max_t(int, 0, driver_ver_sz - strlen(string));
> > - strncat(string, DRIVER_NAME, remaining_size);
> > + strncat(string, KBUILD_MODNAME, remaining_size);
> >
> > remaining_size = max_t(int, 0, driver_ver_sz - strlen(string));
> > strncat(string, ",", remaining_size);
> > @@ -313,7 +312,7 @@ static int request_bar(struct pci_dev *pdev)
> > return -ENODEV;
> > }
> >
> > - err = pci_request_regions(pdev, DRIVER_NAME);
> > + err = pci_request_regions(pdev, KBUILD_MODNAME);
> > if (err)
> > dev_err(&pdev->dev, "Couldn't get PCI resources,
> > aborting\n");
> >
> > @@ -1617,7 +1616,7 @@ void mlx5_recover_device(struct mlx5_core_dev
> > *dev) }
> >
> > static struct pci_driver mlx5_core_driver = {
> > - .name = DRIVER_NAME,
> > + .name = KBUILD_MODNAME,
> > .id_table = mlx5_core_pci_table,
> > .probe = init_one,
> > .remove = remove_one,
> > @@ -1643,6 +1642,10 @@ static int __init init(void) {
> > int err;
> >
> > + WARN_ONCE(strcmp(MLX5_ADEV_NAME, KBUILD_MODNAME) ||
> > + strlen(MLX5_ADEV_NAME) != strlen(KBUILD_MODNAME),
> > + "mlx5_core name not in sync with kernel module name");
> > +
> In which case, both the strings are same but their length not?
> You likely don't need the string length check.

Yes, I was overzealous, I'll remove when will apply the series.

>
> > get_random_bytes(&sw_owner_id, sizeof(sw_owner_id));
> >
> > mlx5_core_verify_params();
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h
> > b/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h
> > index 8cec85ab419d..b285f1515e4e 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h
> > @@ -42,9 +42,6 @@
> > #include <linux/mlx5/fs.h>
> > #include <linux/mlx5/driver.h>
> >
> > -#define DRIVER_NAME "mlx5_core"
> > -#define DRIVER_VERSION "5.0-0"
> > -
> > extern uint mlx5_core_debug_mask;
> >
> > #define mlx5_core_dbg(__dev, format, ...) \
> > diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index
> > 317257f8e0ad..ed1d030658d2 100644
> > --- a/include/linux/mlx5/driver.h
> > +++ b/include/linux/mlx5/driver.h
> > @@ -56,6 +56,8 @@
> > #include <linux/ptp_clock_kernel.h>
> > #include <net/devlink.h>
> >
> > +#define MLX5_ADEV_NAME "mlx5_core"
> > +
> > enum {
> > MLX5_BOARD_ID_LEN = 64,
> > };
> > --
> > 2.28.0
>
>
> Other than strlen removal check,
> Reviewed-by: Parav Pandit <parav@xxxxxxxxxx>
>

Thanks