#define DRV_NAME               "e100"
-#define DRV_EXT                        "-NAPI"
-#define DRV_VERSION            "3.5.24-k2"DRV_EXT
 #define DRV_DESCRIPTION                "Intel(R) PRO/100 Network Driver"
 #define DRV_COPYRIGHT          "Copyright(c) 1999-2006 Intel Corporation"
 
 MODULE_DESCRIPTION(DRV_DESCRIPTION);
 MODULE_AUTHOR(DRV_COPYRIGHT);
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 MODULE_FIRMWARE(FIRMWARE_D101M);
 MODULE_FIRMWARE(FIRMWARE_D101S);
 MODULE_FIRMWARE(FIRMWARE_D102E);
 {
        struct nic *nic = netdev_priv(netdev);
        strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
-       strlcpy(info->version, DRV_VERSION, sizeof(info->version));
        strlcpy(info->bus_info, pci_name(nic->pdev),
                sizeof(info->bus_info));
 }
 static int __init e100_init_module(void)
 {
        if (((1 << debug) - 1) & NETIF_MSG_DRV) {
-               pr_info("%s, %s\n", DRV_DESCRIPTION, DRV_VERSION);
+               pr_info("%s\n", DRV_DESCRIPTION);
                pr_info("%s\n", DRV_COPYRIGHT);
        }
        return pci_register_driver(&e100_driver);
 
        dev_err(&adapter->pdev->dev, format, ## arg)
 
 extern char e1000_driver_name[];
-extern const char e1000_driver_version[];
 
 int e1000_open(struct net_device *netdev);
 int e1000_close(struct net_device *netdev);
 
 
        strlcpy(drvinfo->driver,  e1000_driver_name,
                sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, e1000_driver_version,
-               sizeof(drvinfo->version));
 
        strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
                sizeof(drvinfo->bus_info));
 
 
 char e1000_driver_name[] = "e1000";
 static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
-#define DRV_VERSION "7.3.21-k8-NAPI"
-const char e1000_driver_version[] = DRV_VERSION;
 static const char e1000_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";
 
 /* e1000_pci_tbl - PCI Device ID Table
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION("Intel(R) PRO/1000 Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)
 static int debug = -1;
 static int __init e1000_init_module(void)
 {
        int ret;
-       pr_info("%s - version %s\n", e1000_driver_string, e1000_driver_version);
+       pr_info("%s\n", e1000_driver_string);
 
        pr_info("%s\n", e1000_copyright);
 
 
 };
 
 extern char e1000e_driver_name[];
-extern const char e1000e_driver_version[];
 
 void e1000e_check_options(struct e1000_adapter *adapter);
 void e1000e_set_ethtool_ops(struct net_device *netdev);
 
        struct e1000_adapter *adapter = netdev_priv(netdev);
 
        strlcpy(drvinfo->driver, e1000e_driver_name, sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, e1000e_driver_version,
-               sizeof(drvinfo->version));
 
        /* EEPROM image version # is reported as firmware version # for
         * PCI-E controllers
 
 
 #include "e1000.h"
 
-#define DRV_EXTRAVERSION "-k"
-
-#define DRV_VERSION "3.2.6" DRV_EXTRAVERSION
 char e1000e_driver_name[] = "e1000e";
-const char e1000e_driver_version[] = DRV_VERSION;
 
 #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)
 static int debug = -1;
  **/
 static int __init e1000_init_module(void)
 {
-       pr_info("Intel(R) PRO/1000 Network Driver - %s\n",
-               e1000e_driver_version);
+       pr_info("Intel(R) PRO/1000 Network Driver\n");
        pr_info("Copyright(c) 1999 - 2015 Intel Corporation.\n");
 
        return pci_register_driver(&e1000_driver);
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION("Intel(R) PRO/1000 Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 /* netdev.c */
 
 
 /* main */
 extern char fm10k_driver_name[];
-extern const char fm10k_driver_version[];
 int fm10k_init_queueing_scheme(struct fm10k_intfc *interface);
 void fm10k_clear_queueing_scheme(struct fm10k_intfc *interface);
 __be16 fm10k_tx_encap_offload(struct sk_buff *skb);
 
 
        strncpy(info->driver, fm10k_driver_name,
                sizeof(info->driver) - 1);
-       strncpy(info->version, fm10k_driver_version,
-               sizeof(info->version) - 1);
        strncpy(info->bus_info, pci_name(interface->pdev),
                sizeof(info->bus_info) - 1);
 }
 
 
 #include "fm10k.h"
 
-#define DRV_VERSION    "0.27.1-k"
 #define DRV_SUMMARY    "Intel(R) Ethernet Switch Host Interface Driver"
-const char fm10k_driver_version[] = DRV_VERSION;
 char fm10k_driver_name[] = "fm10k";
 static const char fm10k_driver_string[] = DRV_SUMMARY;
 static const char fm10k_copyright[] =
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION(DRV_SUMMARY);
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 /* single workqueue for entire fm10k driver */
 struct workqueue_struct *fm10k_workqueue;
  **/
 static int __init fm10k_init_module(void)
 {
-       pr_info("%s - version %s\n", fm10k_driver_string, fm10k_driver_version);
+       pr_info("%s\n", fm10k_driver_string);
        pr_info("%s\n", fm10k_copyright);
 
        /* create driver workqueue */
 
 int i40e_up(struct i40e_vsi *vsi);
 void i40e_down(struct i40e_vsi *vsi);
 extern const char i40e_driver_name[];
-extern const char i40e_driver_version_str[];
 void i40e_do_reset_safe(struct i40e_pf *pf, u32 reset_flags);
 void i40e_do_reset(struct i40e_pf *pf, u32 reset_flags, bool lock_acquired);
 int i40e_config_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size);
 
        struct i40e_pf *pf = vsi->back;
 
        strlcpy(drvinfo->driver, i40e_driver_name, sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, i40e_driver_version_str,
-               sizeof(drvinfo->version));
        strlcpy(drvinfo->fw_version, i40e_nvm_version_str(&pf->hw),
                sizeof(drvinfo->fw_version));
        strlcpy(drvinfo->bus_info, pci_name(pf->pdev),
 
 #include <linux/of_net.h>
 #include <linux/pci.h>
 #include <linux/bpf.h>
+#include <generated/utsrelease.h>
 
 /* Local includes */
 #include "i40e.h"
 static const char i40e_driver_string[] =
                        "Intel(R) Ethernet Connection XL710 Network Driver";
 
-#define DRV_KERN "-k"
-
-#define DRV_VERSION_MAJOR 2
-#define DRV_VERSION_MINOR 8
-#define DRV_VERSION_BUILD 20
-#define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
-            __stringify(DRV_VERSION_MINOR) "." \
-            __stringify(DRV_VERSION_BUILD)    DRV_KERN
-const char i40e_driver_version_str[] = DRV_VERSION;
 static const char i40e_copyright[] = "Copyright (c) 2013 - 2019 Intel Corporation.";
 
 /* a bit of forward declarations */
 MODULE_AUTHOR("Intel Corporation, <e1000-devel@lists.sourceforge.net>");
 MODULE_DESCRIPTION("Intel(R) Ethernet Connection XL710 Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 static struct workqueue_struct *i40e_wq;
 
 {
        struct i40e_driver_version dv;
 
-       dv.major_version = DRV_VERSION_MAJOR;
-       dv.minor_version = DRV_VERSION_MINOR;
-       dv.build_version = DRV_VERSION_BUILD;
+       dv.major_version = 0xff;
+       dv.minor_version = 0xff;
+       dv.build_version = 0xff;
        dv.subbuild_version = 0;
-       strlcpy(dv.driver_string, DRV_VERSION, sizeof(dv.driver_string));
+       strlcpy(dv.driver_string, UTS_RELEASE, sizeof(dv.driver_string));
        i40e_aq_send_driver_version(&pf->hw, &dv, NULL);
 }
 
  **/
 static int __init i40e_init_module(void)
 {
-       pr_info("%s: %s - version %s\n", i40e_driver_name,
-               i40e_driver_string, i40e_driver_version_str);
+       pr_info("%s: %s\n", i40e_driver_name, i40e_driver_string);
        pr_info("%s: %s\n", i40e_driver_name, i40e_copyright);
 
        /* There is no need to throttle the number of active tasks because
 
 
 /* needed by iavf_ethtool.c */
 extern char iavf_driver_name[];
-extern const char iavf_driver_version[];
 extern struct workqueue_struct *iavf_wq;
 
 int iavf_up(struct iavf_adapter *adapter);
 
        struct iavf_adapter *adapter = netdev_priv(netdev);
 
        strlcpy(drvinfo->driver, iavf_driver_name, 32);
-       strlcpy(drvinfo->version, iavf_driver_version, 32);
        strlcpy(drvinfo->fw_version, "N/A", 4);
        strlcpy(drvinfo->bus_info, pci_name(adapter->pdev), 32);
        drvinfo->n_priv_flags = IAVF_PRIV_FLAGS_STR_LEN;
 
 static const char iavf_driver_string[] =
        "Intel(R) Ethernet Adaptive Virtual Function Network Driver";
 
-#define DRV_KERN "-k"
-
-#define DRV_VERSION_MAJOR 3
-#define DRV_VERSION_MINOR 2
-#define DRV_VERSION_BUILD 3
-#define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
-            __stringify(DRV_VERSION_MINOR) "." \
-            __stringify(DRV_VERSION_BUILD) \
-            DRV_KERN
-const char iavf_driver_version[] = DRV_VERSION;
 static const char iavf_copyright[] =
        "Copyright (c) 2013 - 2018 Intel Corporation.";
 
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION("Intel(R) Ethernet Adaptive Virtual Function Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 static const struct net_device_ops iavf_netdev_ops;
 struct workqueue_struct *iavf_wq;
 {
        int ret;
 
-       pr_info("iavf: %s - version %s\n", iavf_driver_string,
-               iavf_driver_version);
+       pr_info("iavf: %s\n", iavf_driver_string);
 
        pr_info("%s\n", iavf_copyright);
 
 
        char err_str[16];
 };
 
-struct iavf_driver_version {
-       u8 major_version;
-       u8 minor_version;
-       u8 build_version;
-       u8 subbuild_version;
-       u8 driver_string[32];
-};
-
 /* RX Descriptors */
 union iavf_16byte_rx_desc {
        struct {
 
 #include "ice_xsk.h"
 #include "ice_arfs.h"
 
-extern const char ice_drv_ver[];
 #define ICE_BAR0               0
 #define ICE_REQ_DESC_MULTIPLE  32
 #define ICE_MIN_NUM_DESC       64
 
        orom = &nvm->orom;
 
        strscpy(drvinfo->driver, KBUILD_MODNAME, sizeof(drvinfo->driver));
-       strscpy(drvinfo->version, ice_drv_ver, sizeof(drvinfo->version));
 
        /* Display NVM version (from which the firmware version can be
         * determined) which contains more pertinent information.
 
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
+#include <generated/utsrelease.h>
 #include "ice.h"
 #include "ice_base.h"
 #include "ice_lib.h"
 #include "ice_dcb_nl.h"
 #include "ice_devlink.h"
 
-#define DRV_VERSION_MAJOR 0
-#define DRV_VERSION_MINOR 8
-#define DRV_VERSION_BUILD 2
-
-#define DRV_VERSION    __stringify(DRV_VERSION_MAJOR) "." \
-                       __stringify(DRV_VERSION_MINOR) "." \
-                       __stringify(DRV_VERSION_BUILD) "-k"
 #define DRV_SUMMARY    "Intel(R) Ethernet Connection E800 Series Linux Driver"
-const char ice_drv_ver[] = DRV_VERSION;
 static const char ice_driver_string[] = DRV_SUMMARY;
 static const char ice_copyright[] = "Copyright (c) 2018, Intel Corporation.";
 
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION(DRV_SUMMARY);
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 MODULE_FIRMWARE(ICE_DDP_PKG_FILE);
 
 static int debug = -1;
 {
        struct ice_driver_ver dv;
 
-       dv.major_ver = DRV_VERSION_MAJOR;
-       dv.minor_ver = DRV_VERSION_MINOR;
-       dv.build_ver = DRV_VERSION_BUILD;
+       dv.major_ver = 0xff;
+       dv.minor_ver = 0xff;
+       dv.build_ver = 0xff;
        dv.subbuild_ver = 0;
-       strscpy((char *)dv.driver_string, DRV_VERSION,
+       strscpy((char *)dv.driver_string, UTS_RELEASE,
                sizeof(dv.driver_string));
        return ice_aq_send_driver_ver(&pf->hw, &dv, NULL);
 }
        err = ice_send_version(pf);
        if (err) {
                dev_err(dev, "probe failed sending driver version %s. error: %d\n",
-                       ice_drv_ver, err);
+                       UTS_RELEASE, err);
                goto err_alloc_sw_unroll;
        }
 
 {
        int status;
 
-       pr_info("%s - version %s\n", ice_driver_string, ice_drv_ver);
+       pr_info("%s\n", ice_driver_string);
        pr_info("%s\n", ice_copyright);
 
        ice_wq = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, KBUILD_MODNAME);
 
 };
 
 extern char igb_driver_name[];
-extern char igb_driver_version[];
 
 int igb_open(struct net_device *netdev);
 int igb_close(struct net_device *netdev);
 
        struct igb_adapter *adapter = netdev_priv(netdev);
 
        strlcpy(drvinfo->driver,  igb_driver_name, sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, igb_driver_version, sizeof(drvinfo->version));
 
        /* EEPROM image version # is reported as firmware version # for
         * 82575 controllers
 
 #include <linux/i2c.h>
 #include "igb.h"
 
-#define MAJ 5
-#define MIN 6
-#define BUILD 0
-#define DRV_VERSION __stringify(MAJ) "." __stringify(MIN) "." \
-__stringify(BUILD) "-k"
-
 enum queue_mode {
        QUEUE_MODE_STRICT_PRIORITY,
        QUEUE_MODE_STREAM_RESERVATION,
 };
 
 char igb_driver_name[] = "igb";
-char igb_driver_version[] = DRV_VERSION;
 static const char igb_driver_string[] =
                                "Intel(R) Gigabit Ethernet Network Driver";
 static const char igb_copyright[] =
 MODULE_AUTHOR("Intel Corporation, <e1000-devel@lists.sourceforge.net>");
 MODULE_DESCRIPTION("Intel(R) Gigabit Ethernet Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)
 static int debug = -1;
 {
        int ret;
 
-       pr_info("%s - version %s\n",
-              igb_driver_string, igb_driver_version);
+       pr_info("%s\n", igb_driver_string);
        pr_info("%s\n", igb_copyright);
 
 #ifdef CONFIG_IGB_DCA
 
        struct igbvf_adapter *adapter = netdev_priv(netdev);
 
        strlcpy(drvinfo->driver,  igbvf_driver_name, sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, igbvf_driver_version,
-               sizeof(drvinfo->version));
        strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
                sizeof(drvinfo->bus_info));
 }
 
 };
 
 extern char igbvf_driver_name[];
-extern const char igbvf_driver_version[];
 
 void igbvf_check_options(struct igbvf_adapter *);
 void igbvf_set_ethtool_ops(struct net_device *);
 
 
 #include "igbvf.h"
 
-#define DRV_VERSION "2.4.0-k"
 char igbvf_driver_name[] = "igbvf";
-const char igbvf_driver_version[] = DRV_VERSION;
 static const char igbvf_driver_string[] =
                  "Intel(R) Gigabit Virtual Function Network Driver";
 static const char igbvf_copyright[] =
 {
        int ret;
 
-       pr_info("%s - version %s\n", igbvf_driver_string, igbvf_driver_version);
+       pr_info("%s\n", igbvf_driver_string);
        pr_info("%s\n", igbvf_copyright);
 
        ret = pci_register_driver(&igbvf_driver);
 MODULE_AUTHOR("Intel Corporation, <e1000-devel@lists.sourceforge.net>");
 MODULE_DESCRIPTION("Intel(R) Gigabit Virtual Function Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 /* netdev.c */
 
 void igc_regs_dump(struct igc_adapter *adapter);
 
 extern char igc_driver_name[];
-extern char igc_driver_version[];
 
 #define IGC_REGS_LEN                   740
 
 
        struct igc_adapter *adapter = netdev_priv(netdev);
 
        strlcpy(drvinfo->driver,  igc_driver_name, sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, igc_driver_version, sizeof(drvinfo->version));
 
        /* add fw_version here */
        strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
 
 #include "igc_hw.h"
 #include "igc_tsn.h"
 
-#define DRV_VERSION    "0.0.1-k"
 #define DRV_SUMMARY    "Intel(R) 2.5G Ethernet Linux Driver"
 
 #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV | NETIF_MSG_PROBE | NETIF_MSG_LINK)
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION(DRV_SUMMARY);
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 module_param(debug, int, 0);
 MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
 
 char igc_driver_name[] = "igc";
-char igc_driver_version[] = DRV_VERSION;
 static const char igc_driver_string[] = DRV_SUMMARY;
 static const char igc_copyright[] =
        "Copyright(c) 2018 Intel Corporation.";
 {
        int ret;
 
-       pr_info("%s - version %s\n",
-               igc_driver_string, igc_driver_version);
-
+       pr_info("%s\n", igc_driver_string);
        pr_info("%s\n", igc_copyright);
 
        ret = pci_register_driver(&igc_driver);
 
 void ixgb_check_options(struct ixgb_adapter *adapter);
 void ixgb_set_ethtool_ops(struct net_device *netdev);
 extern char ixgb_driver_name[];
-extern const char ixgb_driver_version[];
 
 void ixgb_set_speed_duplex(struct net_device *netdev);
 
 
 
        strlcpy(drvinfo->driver,  ixgb_driver_name,
                sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, ixgb_driver_version,
-               sizeof(drvinfo->version));
        strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
                sizeof(drvinfo->bus_info));
 }
 
 char ixgb_driver_name[] = "ixgb";
 static char ixgb_driver_string[] = "Intel(R) PRO/10GbE Network Driver";
 
-#define DRIVERNAPI "-NAPI"
-#define DRV_VERSION "1.0.135-k2" DRIVERNAPI
-const char ixgb_driver_version[] = DRV_VERSION;
 static const char ixgb_copyright[] = "Copyright (c) 1999-2008 Intel Corporation.";
 
 #define IXGB_CB_LENGTH 256
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION("Intel(R) PRO/10GbE Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)
 static int debug = -1;
 static int __init
 ixgb_init_module(void)
 {
-       pr_info("%s - version %s\n", ixgb_driver_string, ixgb_driver_version);
+       pr_info("%s\n", ixgb_driver_string);
        pr_info("%s\n", ixgb_copyright);
 
        return pci_register_driver(&ixgb_driver);
 
 #endif
 
 extern char ixgbe_driver_name[];
-extern const char ixgbe_driver_version[];
 #ifdef IXGBE_FCOE
 extern char ixgbe_default_device_descr[];
 #endif /* IXGBE_FCOE */
 
        struct ixgbe_adapter *adapter = netdev_priv(netdev);
 
        strlcpy(drvinfo->driver, ixgbe_driver_name, sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, ixgbe_driver_version,
-               sizeof(drvinfo->version));
 
        strlcpy(drvinfo->fw_version, adapter->eeprom_id,
                sizeof(drvinfo->fw_version));
 
 #include <linux/if_ether.h>
 #include <linux/gfp.h>
 #include <linux/if_vlan.h>
+#include <generated/utsrelease.h>
 #include <scsi/scsi_cmnd.h>
 #include <scsi/scsi_device.h>
 #include <scsi/fc/fc_fs.h>
                 sizeof(info->driver_version),
                 "%s v%s",
                 ixgbe_driver_name,
-                ixgbe_driver_version);
+                UTS_RELEASE);
        /* Firmware Version */
        strlcpy(info->firmware_version, adapter->eeprom_id,
                sizeof(info->firmware_version));
 
 #include <linux/bpf_trace.h>
 #include <linux/atomic.h>
 #include <linux/numa.h>
+#include <generated/utsrelease.h>
 #include <scsi/fc/fc_fcoe.h>
 #include <net/udp_tunnel.h>
 #include <net/pkt_cls.h>
 static char ixgbe_default_device_descr[] =
                              "Intel(R) 10 Gigabit Network Connection";
 #endif
-#define DRV_VERSION "5.1.0-k"
-const char ixgbe_driver_version[] = DRV_VERSION;
 static const char ixgbe_copyright[] =
                                "Copyright (c) 1999-2016 Intel Corporation.";
 
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION("Intel(R) 10 Gigabit PCI Express Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 static struct workqueue_struct *ixgbe_wq;
 
         */
        if (hw->mac.ops.set_fw_drv_ver)
                hw->mac.ops.set_fw_drv_ver(hw, 0xFF, 0xFF, 0xFF, 0xFF,
-                                          sizeof(ixgbe_driver_version) - 1,
-                                          ixgbe_driver_version);
+                                          sizeof(UTS_RELEASE) - 1,
+                                          UTS_RELEASE);
 
        /* add san mac addr to netdev */
        ixgbe_add_sanmac_netdev(netdev);
 static int __init ixgbe_init_module(void)
 {
        int ret;
-       pr_info("%s - version %s\n", ixgbe_driver_string, ixgbe_driver_version);
+       pr_info("%s\n", ixgbe_driver_string);
        pr_info("%s\n", ixgbe_copyright);
 
        ixgbe_wq = create_singlethread_workqueue(ixgbe_driver_name);
 
        struct ixgbevf_adapter *adapter = netdev_priv(netdev);
 
        strlcpy(drvinfo->driver, ixgbevf_driver_name, sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, ixgbevf_driver_version,
-               sizeof(drvinfo->version));
        strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
                sizeof(drvinfo->bus_info));
 
 
 
 /* needed by ethtool.c */
 extern const char ixgbevf_driver_name[];
-extern const char ixgbevf_driver_version[];
 
 int ixgbevf_open(struct net_device *netdev);
 int ixgbevf_close(struct net_device *netdev);
 
 static const char ixgbevf_driver_string[] =
        "Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver";
 
-#define DRV_VERSION "4.1.0-k"
-const char ixgbevf_driver_version[] = DRV_VERSION;
 static char ixgbevf_copyright[] =
        "Copyright (c) 2009 - 2018 Intel Corporation.";
 
 MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
 MODULE_DESCRIPTION("Intel(R) 10 Gigabit Virtual Function Network Driver");
 MODULE_LICENSE("GPL v2");
-MODULE_VERSION(DRV_VERSION);
 
 #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)
 static int debug = -1;
  **/
 static int __init ixgbevf_init_module(void)
 {
-       pr_info("%s - version %s\n", ixgbevf_driver_string,
-               ixgbevf_driver_version);
-
+       pr_info("%s\n", ixgbevf_driver_string);
        pr_info("%s\n", ixgbevf_copyright);
        ixgbevf_wq = create_singlethread_workqueue(ixgbevf_driver_name);
        if (!ixgbevf_wq) {