get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/1300482/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 1300482,
    "url": "http://patchwork.ozlabs.org/api/patches/1300482/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20200529071833.633168-1-jeffrey.t.kirsher@intel.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20200529071833.633168-1-jeffrey.t.kirsher@intel.com>",
    "list_archive_url": null,
    "date": "2020-05-29T07:18:33",
    "name": "[next-queue,v3] net/intel: remove driver versions from Intel drivers",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "777dba74aa30e59ed55cbd8b30700a1316a45d26",
    "submitter": {
        "id": 473,
        "url": "http://patchwork.ozlabs.org/api/people/473/?format=api",
        "name": "Kirsher, Jeffrey T",
        "email": "jeffrey.t.kirsher@intel.com"
    },
    "delegate": {
        "id": 68,
        "url": "http://patchwork.ozlabs.org/api/users/68/?format=api",
        "username": "jtkirshe",
        "first_name": "Jeff",
        "last_name": "Kirsher",
        "email": "jeffrey.t.kirsher@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20200529071833.633168-1-jeffrey.t.kirsher@intel.com/mbox/",
    "series": [
        {
            "id": 180109,
            "url": "http://patchwork.ozlabs.org/api/series/180109/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=180109",
            "date": "2020-05-29T07:18:33",
            "name": "[next-queue,v3] net/intel: remove driver versions from Intel drivers",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/180109/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1300482/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1300482/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.138; helo=whitealder.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org; receiver=<UNKNOWN>)",
            "ozlabs.org;\n dmarc=fail (p=none dis=none) header.from=intel.com"
        ],
        "Received": [
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 49YGBx29RBz9sSm\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 29 May 2020 17:18:48 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 129088806B;\n\tFri, 29 May 2020 07:18:47 +0000 (UTC)",
            "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id jj2XSKkJjMdO; Fri, 29 May 2020 07:18:39 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id CDABA87C5B;\n\tFri, 29 May 2020 07:18:39 +0000 (UTC)",
            "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n by ash.osuosl.org (Postfix) with ESMTP id 077631BF366\n for <intel-wired-lan@lists.osuosl.org>; Fri, 29 May 2020 07:18:39 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by hemlock.osuosl.org (Postfix) with ESMTP id E741788C52\n for <intel-wired-lan@lists.osuosl.org>; Fri, 29 May 2020 07:18:38 +0000 (UTC)",
            "from hemlock.osuosl.org ([127.0.0.1])\n by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n with ESMTP id ui10D-KJBRbf for <intel-wired-lan@lists.osuosl.org>;\n Fri, 29 May 2020 07:18:36 +0000 (UTC)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by hemlock.osuosl.org (Postfix) with ESMTPS id 48BF388C30\n for <intel-wired-lan@lists.osuosl.org>; Fri, 29 May 2020 07:18:36 +0000 (UTC)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 29 May 2020 00:18:35 -0700",
            "from jtkirshe-desk1.jf.intel.com ([134.134.177.86])\n by fmsmga005.fm.intel.com with ESMTP; 29 May 2020 00:18:35 -0700"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "IronPort-SDR": [
            "\n 1JFOIbCUAjEz0ugBSK/qjG4MKM3ZHnwVrcz4b+PRRSYna7PpRblIaqCfa5u6pramPAsMoC7yhW\n 0mxreZvbpo4g==",
            "\n QM3iVDGLSikvZJTEj4UWP6B62S4NNCMRXmcGx74SRWsIn4Do6LOIpQXKokJKqD9jRD04/b8I4w\n nAfBxoG4raTQ=="
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.73,447,1583222400\"; d=\"scan'208\";a=\"469416560\"",
        "From": "Jeff Kirsher <jeffrey.t.kirsher@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Fri, 29 May 2020 00:18:33 -0700",
        "Message-Id": "<20200529071833.633168-1-jeffrey.t.kirsher@intel.com>",
        "X-Mailer": "git-send-email 2.26.2",
        "MIME-Version": "1.0",
        "Subject": "[Intel-wired-lan] [next-queue v3] net/intel: remove driver versions\n from Intel drivers",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>",
        "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>",
        "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>",
        "Cc": "Alek Loktionov <aleksandr.loktionov@intel.com>,\n Kevin Liedtke <kevin.d.liedtke@intel.com>,\n Aaron Rowden <aaron.f.rowden@intel.com>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "intel-wired-lan-bounces@osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"
    },
    "content": "As with other networking drivers, remove the unnecessary driver version\nfrom the Intel drivers. The ethtool driver information and module version\nwill then report the kernel version instead.\n\nFor ixgbe, i40e and ice drivers, the driver passes the driver version to\nthe firmware to confirm that we are up and running.  So we now pass the\nvalue of UTS_RELEASE to the firmware.  This adminq call is required per\nthe HAS document.  The Device then sends an indication to the BMC that the\nPF driver is present. This is done using Host NC Driver Status Indication\nin NC-SI Get Link command or via the Host Network Controller Driver Status\nChange AEN.\n\nWhat the BMC may do with this information is implementation-dependent, but\nthis is a standard NC-SI 1.1 command we honor per the HAS.\n\nCC: Bruce Allan <bruce.w.allan@intel.com>\nCC: Jesse Brandeburg <jesse.brandeburg@intel.com>\nCC: Alek Loktionov <aleksandr.loktionov@intel.com>\nCC: Kevin Liedtke <kevin.d.liedtke@intel.com>\nCC: Aaron Rowden <aaron.f.rowden@intel.com>\nSigned-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>\nCo-developed-by: Jacob Keller <jacob.e.keller@intel.com>\n---\nv2: fixed Co-developed-by: tag\n\nv3: Addressed Bruce Allan's concerns in the patch description with all\n    the information that the firmware team was able to share\n    Did not address Shannon Nelson's suggestion to remove all print\n    statements in the drivers initialization functions... I plan to take\n    my chances with the Linux community\n\n drivers/net/ethernet/intel/e100.c             |  6 +----\n drivers/net/ethernet/intel/e1000/e1000.h      |  1 -\n .../net/ethernet/intel/e1000/e1000_ethtool.c  |  2 --\n drivers/net/ethernet/intel/e1000/e1000_main.c |  5 +----\n drivers/net/ethernet/intel/e1000e/e1000.h     |  1 -\n drivers/net/ethernet/intel/e1000e/ethtool.c   |  2 --\n drivers/net/ethernet/intel/e1000e/netdev.c    |  8 +------\n drivers/net/ethernet/intel/fm10k/fm10k.h      |  1 -\n .../net/ethernet/intel/fm10k/fm10k_ethtool.c  |  2 --\n drivers/net/ethernet/intel/fm10k/fm10k_main.c |  5 +----\n drivers/net/ethernet/intel/i40e/i40e.h        |  1 -\n .../net/ethernet/intel/i40e/i40e_ethtool.c    |  2 --\n drivers/net/ethernet/intel/i40e/i40e_main.c   | 22 +++++--------------\n drivers/net/ethernet/intel/iavf/iavf.h        |  1 -\n .../net/ethernet/intel/iavf/iavf_ethtool.c    |  1 -\n drivers/net/ethernet/intel/iavf/iavf_main.c   | 14 +-----------\n drivers/net/ethernet/intel/iavf/iavf_type.h   |  8 -------\n drivers/net/ethernet/intel/ice/ice.h          |  1 -\n drivers/net/ethernet/intel/ice/ice_ethtool.c  |  1 -\n drivers/net/ethernet/intel/ice/ice_main.c     | 22 ++++++-------------\n drivers/net/ethernet/intel/igb/igb.h          |  1 -\n drivers/net/ethernet/intel/igb/igb_ethtool.c  |  1 -\n drivers/net/ethernet/intel/igb/igb_main.c     | 11 +---------\n drivers/net/ethernet/intel/igbvf/ethtool.c    |  2 --\n drivers/net/ethernet/intel/igbvf/igbvf.h      |  1 -\n drivers/net/ethernet/intel/igbvf/netdev.c     |  5 +----\n drivers/net/ethernet/intel/igc/igc.h          |  1 -\n drivers/net/ethernet/intel/igc/igc_ethtool.c  |  1 -\n drivers/net/ethernet/intel/igc/igc_main.c     |  7 +-----\n drivers/net/ethernet/intel/ixgb/ixgb.h        |  1 -\n .../net/ethernet/intel/ixgb/ixgb_ethtool.c    |  2 --\n drivers/net/ethernet/intel/ixgb/ixgb_main.c   |  6 +----\n drivers/net/ethernet/intel/ixgbe/ixgbe.h      |  1 -\n .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c  |  2 --\n drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c |  3 ++-\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 10 ++++-----\n drivers/net/ethernet/intel/ixgbevf/ethtool.c  |  2 --\n drivers/net/ethernet/intel/ixgbevf/ixgbevf.h  |  1 -\n .../net/ethernet/intel/ixgbevf/ixgbevf_main.c |  7 +-----\n 39 files changed, 29 insertions(+), 142 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c\nindex 1b8d015ebfb0..91c64f91a835 100644\n--- a/drivers/net/ethernet/intel/e100.c\n+++ b/drivers/net/ethernet/intel/e100.c\n@@ -150,8 +150,6 @@\n \n \n #define DRV_NAME\t\t\"e100\"\n-#define DRV_EXT\t\t\t\"-NAPI\"\n-#define DRV_VERSION\t\t\"3.5.24-k2\"DRV_EXT\n #define DRV_DESCRIPTION\t\t\"Intel(R) PRO/100 Network Driver\"\n #define DRV_COPYRIGHT\t\t\"Copyright(c) 1999-2006 Intel Corporation\"\n \n@@ -165,7 +163,6 @@\n MODULE_DESCRIPTION(DRV_DESCRIPTION);\n MODULE_AUTHOR(DRV_COPYRIGHT);\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n MODULE_FIRMWARE(FIRMWARE_D101M);\n MODULE_FIRMWARE(FIRMWARE_D101S);\n MODULE_FIRMWARE(FIRMWARE_D102E);\n@@ -2430,7 +2427,6 @@ static void e100_get_drvinfo(struct net_device *netdev,\n {\n \tstruct nic *nic = netdev_priv(netdev);\n \tstrlcpy(info->driver, DRV_NAME, sizeof(info->driver));\n-\tstrlcpy(info->version, DRV_VERSION, sizeof(info->version));\n \tstrlcpy(info->bus_info, pci_name(nic->pdev),\n \t\tsizeof(info->bus_info));\n }\n@@ -3167,7 +3163,7 @@ static struct pci_driver e100_driver = {\n static int __init e100_init_module(void)\n {\n \tif (((1 << debug) - 1) & NETIF_MSG_DRV) {\n-\t\tpr_info(\"%s, %s\\n\", DRV_DESCRIPTION, DRV_VERSION);\n+\t\tpr_info(\"%s\\n\", DRV_DESCRIPTION);\n \t\tpr_info(\"%s\\n\", DRV_COPYRIGHT);\n \t}\n \treturn pci_register_driver(&e100_driver);\ndiff --git a/drivers/net/ethernet/intel/e1000/e1000.h b/drivers/net/ethernet/intel/e1000/e1000.h\nindex 7fad2f24dcad..4817eb13ca6f 100644\n--- a/drivers/net/ethernet/intel/e1000/e1000.h\n+++ b/drivers/net/ethernet/intel/e1000/e1000.h\n@@ -330,7 +330,6 @@ struct net_device *e1000_get_hw_dev(struct e1000_hw *hw);\n \tdev_err(&adapter->pdev->dev, format, ## arg)\n \n extern char e1000_driver_name[];\n-extern const char e1000_driver_version[];\n \n int e1000_open(struct net_device *netdev);\n int e1000_close(struct net_device *netdev);\ndiff --git a/drivers/net/ethernet/intel/e1000/e1000_ethtool.c b/drivers/net/ethernet/intel/e1000/e1000_ethtool.c\nindex 6f45df5690d4..0b4196d2cdd4 100644\n--- a/drivers/net/ethernet/intel/e1000/e1000_ethtool.c\n+++ b/drivers/net/ethernet/intel/e1000/e1000_ethtool.c\n@@ -533,8 +533,6 @@ static void e1000_get_drvinfo(struct net_device *netdev,\n \n \tstrlcpy(drvinfo->driver,  e1000_driver_name,\n \t\tsizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, e1000_driver_version,\n-\t\tsizeof(drvinfo->version));\n \n \tstrlcpy(drvinfo->bus_info, pci_name(adapter->pdev),\n \t\tsizeof(drvinfo->bus_info));\ndiff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c\nindex 4b2de08137be..266899c0c933 100644\n--- a/drivers/net/ethernet/intel/e1000/e1000_main.c\n+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c\n@@ -10,8 +10,6 @@\n \n char e1000_driver_name[] = \"e1000\";\n static char e1000_driver_string[] = \"Intel(R) PRO/1000 Network Driver\";\n-#define DRV_VERSION \"7.3.21-k8-NAPI\"\n-const char e1000_driver_version[] = DRV_VERSION;\n static const char e1000_copyright[] = \"Copyright (c) 1999-2006 Intel Corporation.\";\n \n /* e1000_pci_tbl - PCI Device ID Table\n@@ -194,7 +192,6 @@ static struct pci_driver e1000_driver = {\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(\"Intel(R) PRO/1000 Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)\n static int debug = -1;\n@@ -221,7 +218,7 @@ struct net_device *e1000_get_hw_dev(struct e1000_hw *hw)\n static int __init e1000_init_module(void)\n {\n \tint ret;\n-\tpr_info(\"%s - version %s\\n\", e1000_driver_string, e1000_driver_version);\n+\tpr_info(\"%s\\n\", e1000_driver_string);\n \n \tpr_info(\"%s\\n\", e1000_copyright);\n \ndiff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h\nindex 944abd5eae11..ba7a0f8f6937 100644\n--- a/drivers/net/ethernet/intel/e1000e/e1000.h\n+++ b/drivers/net/ethernet/intel/e1000e/e1000.h\n@@ -460,7 +460,6 @@ enum latency_range {\n };\n \n extern char e1000e_driver_name[];\n-extern const char e1000e_driver_version[];\n \n void e1000e_check_options(struct e1000_adapter *adapter);\n void e1000e_set_ethtool_ops(struct net_device *netdev);\ndiff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c\nindex 1d47e2503072..11de79e49661 100644\n--- a/drivers/net/ethernet/intel/e1000e/ethtool.c\n+++ b/drivers/net/ethernet/intel/e1000e/ethtool.c\n@@ -633,8 +633,6 @@ static void e1000_get_drvinfo(struct net_device *netdev,\n \tstruct e1000_adapter *adapter = netdev_priv(netdev);\n \n \tstrlcpy(drvinfo->driver, e1000e_driver_name, sizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, e1000e_driver_version,\n-\t\tsizeof(drvinfo->version));\n \n \t/* EEPROM image version # is reported as firmware version # for\n \t * PCI-E controllers\ndiff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c\nindex 0111cbe5593e..e0867771847f 100644\n--- a/drivers/net/ethernet/intel/e1000e/netdev.c\n+++ b/drivers/net/ethernet/intel/e1000e/netdev.c\n@@ -28,11 +28,7 @@\n \n #include \"e1000.h\"\n \n-#define DRV_EXTRAVERSION \"-k\"\n-\n-#define DRV_VERSION \"3.2.6\" DRV_EXTRAVERSION\n char e1000e_driver_name[] = \"e1000e\";\n-const char e1000e_driver_version[] = DRV_VERSION;\n \n #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)\n static int debug = -1;\n@@ -7899,8 +7895,7 @@ static struct pci_driver e1000_driver = {\n  **/\n static int __init e1000_init_module(void)\n {\n-\tpr_info(\"Intel(R) PRO/1000 Network Driver - %s\\n\",\n-\t\te1000e_driver_version);\n+\tpr_info(\"Intel(R) PRO/1000 Network Driver\\n\");\n \tpr_info(\"Copyright(c) 1999 - 2015 Intel Corporation.\\n\");\n \n \treturn pci_register_driver(&e1000_driver);\n@@ -7922,6 +7917,5 @@ module_exit(e1000_exit_module);\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(\"Intel(R) PRO/1000 Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n /* netdev.c */\ndiff --git a/drivers/net/ethernet/intel/fm10k/fm10k.h b/drivers/net/ethernet/intel/fm10k/fm10k.h\nindex 5b78362b82ac..f9be10a04dd6 100644\n--- a/drivers/net/ethernet/intel/fm10k/fm10k.h\n+++ b/drivers/net/ethernet/intel/fm10k/fm10k.h\n@@ -476,7 +476,6 @@ struct fm10k_cb {\n \n /* main */\n extern char fm10k_driver_name[];\n-extern const char fm10k_driver_version[];\n int fm10k_init_queueing_scheme(struct fm10k_intfc *interface);\n void fm10k_clear_queueing_scheme(struct fm10k_intfc *interface);\n __be16 fm10k_tx_encap_offload(struct sk_buff *skb);\ndiff --git a/drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c b/drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c\nindex 37fbc646deb9..30ea2b422678 100644\n--- a/drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c\n+++ b/drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c\n@@ -449,8 +449,6 @@ static void fm10k_get_drvinfo(struct net_device *dev,\n \n \tstrncpy(info->driver, fm10k_driver_name,\n \t\tsizeof(info->driver) - 1);\n-\tstrncpy(info->version, fm10k_driver_version,\n-\t\tsizeof(info->version) - 1);\n \tstrncpy(info->bus_info, pci_name(interface->pdev),\n \t\tsizeof(info->bus_info) - 1);\n }\ndiff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c\nindex 17738b0a9873..05e9bdb5f4aa 100644\n--- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c\n+++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c\n@@ -11,9 +11,7 @@\n \n #include \"fm10k.h\"\n \n-#define DRV_VERSION\t\"0.27.1-k\"\n #define DRV_SUMMARY\t\"Intel(R) Ethernet Switch Host Interface Driver\"\n-const char fm10k_driver_version[] = DRV_VERSION;\n char fm10k_driver_name[] = \"fm10k\";\n static const char fm10k_driver_string[] = DRV_SUMMARY;\n static const char fm10k_copyright[] =\n@@ -22,7 +20,6 @@ static const char fm10k_copyright[] =\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(DRV_SUMMARY);\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n /* single workqueue for entire fm10k driver */\n struct workqueue_struct *fm10k_workqueue;\n@@ -35,7 +32,7 @@ struct workqueue_struct *fm10k_workqueue;\n  **/\n static int __init fm10k_init_module(void)\n {\n-\tpr_info(\"%s - version %s\\n\", fm10k_driver_string, fm10k_driver_version);\n+\tpr_info(\"%s\\n\", fm10k_driver_string);\n \tpr_info(\"%s\\n\", fm10k_copyright);\n \n \t/* create driver workqueue */\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h\nindex e8a42415531a..6bea849410f7 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e.h\n@@ -972,7 +972,6 @@ static inline void i40e_write_fd_input_set(struct i40e_pf *pf,\n int i40e_up(struct i40e_vsi *vsi);\n void i40e_down(struct i40e_vsi *vsi);\n extern const char i40e_driver_name[];\n-extern const char i40e_driver_version_str[];\n void i40e_do_reset_safe(struct i40e_pf *pf, u32 reset_flags);\n void i40e_do_reset(struct i40e_pf *pf, u32 reset_flags, bool lock_acquired);\n int i40e_config_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size);\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\nindex aa8026b1eb81..2dfd87f0bdfd 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\n@@ -1893,8 +1893,6 @@ static void i40e_get_drvinfo(struct net_device *netdev,\n \tstruct i40e_pf *pf = vsi->back;\n \n \tstrlcpy(drvinfo->driver, i40e_driver_name, sizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, i40e_driver_version_str,\n-\t\tsizeof(drvinfo->version));\n \tstrlcpy(drvinfo->fw_version, i40e_nvm_version_str(&pf->hw),\n \t\tsizeof(drvinfo->fw_version));\n \tstrlcpy(drvinfo->bus_info, pci_name(pf->pdev),\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex 2e454b0d71ee..ac131522ecd3 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -5,6 +5,7 @@\n #include <linux/of_net.h>\n #include <linux/pci.h>\n #include <linux/bpf.h>\n+#include <generated/utsrelease.h>\n \n /* Local includes */\n #include \"i40e.h\"\n@@ -23,15 +24,6 @@ const char i40e_driver_name[] = \"i40e\";\n static const char i40e_driver_string[] =\n \t\t\t\"Intel(R) Ethernet Connection XL710 Network Driver\";\n \n-#define DRV_KERN \"-k\"\n-\n-#define DRV_VERSION_MAJOR 2\n-#define DRV_VERSION_MINOR 8\n-#define DRV_VERSION_BUILD 20\n-#define DRV_VERSION __stringify(DRV_VERSION_MAJOR) \".\" \\\n-\t     __stringify(DRV_VERSION_MINOR) \".\" \\\n-\t     __stringify(DRV_VERSION_BUILD)    DRV_KERN\n-const char i40e_driver_version_str[] = DRV_VERSION;\n static const char i40e_copyright[] = \"Copyright (c) 2013 - 2019 Intel Corporation.\";\n \n /* a bit of forward declarations */\n@@ -101,7 +93,6 @@ MODULE_PARM_DESC(debug, \"Debug level (0=none,...,16=all), Debug mask (0x8XXXXXXX\n MODULE_AUTHOR(\"Intel Corporation, <e1000-devel@lists.sourceforge.net>\");\n MODULE_DESCRIPTION(\"Intel(R) Ethernet Connection XL710 Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n static struct workqueue_struct *i40e_wq;\n \n@@ -9848,11 +9839,11 @@ static void i40e_send_version(struct i40e_pf *pf)\n {\n \tstruct i40e_driver_version dv;\n \n-\tdv.major_version = DRV_VERSION_MAJOR;\n-\tdv.minor_version = DRV_VERSION_MINOR;\n-\tdv.build_version = DRV_VERSION_BUILD;\n+\tdv.major_version = 0xff;\n+\tdv.minor_version = 0xff;\n+\tdv.build_version = 0xff;\n \tdv.subbuild_version = 0;\n-\tstrlcpy(dv.driver_string, DRV_VERSION, sizeof(dv.driver_string));\n+\tstrlcpy(dv.driver_string, UTS_RELEASE, sizeof(dv.driver_string));\n \ti40e_aq_send_driver_version(&pf->hw, &dv, NULL);\n }\n \n@@ -15813,8 +15804,7 @@ static struct pci_driver i40e_driver = {\n  **/\n static int __init i40e_init_module(void)\n {\n-\tpr_info(\"%s: %s - version %s\\n\", i40e_driver_name,\n-\t\ti40e_driver_string, i40e_driver_version_str);\n+\tpr_info(\"%s: %s\\n\", i40e_driver_name, i40e_driver_string);\n \tpr_info(\"%s: %s\\n\", i40e_driver_name, i40e_copyright);\n \n \t/* There is no need to throttle the number of active tasks because\ndiff --git a/drivers/net/ethernet/intel/iavf/iavf.h b/drivers/net/ethernet/intel/iavf/iavf.h\nindex bcd11b4b29df..563da1f95b67 100644\n--- a/drivers/net/ethernet/intel/iavf/iavf.h\n+++ b/drivers/net/ethernet/intel/iavf/iavf.h\n@@ -357,7 +357,6 @@ struct iavf_device {\n \n /* needed by iavf_ethtool.c */\n extern char iavf_driver_name[];\n-extern const char iavf_driver_version[];\n extern struct workqueue_struct *iavf_wq;\n \n int iavf_up(struct iavf_adapter *adapter);\ndiff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c\nindex 2c39d46b6138..032cc590292d 100644\n--- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c\n+++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c\n@@ -560,7 +560,6 @@ static void iavf_get_drvinfo(struct net_device *netdev,\n \tstruct iavf_adapter *adapter = netdev_priv(netdev);\n \n \tstrlcpy(drvinfo->driver, iavf_driver_name, 32);\n-\tstrlcpy(drvinfo->version, iavf_driver_version, 32);\n \tstrlcpy(drvinfo->fw_version, \"N/A\", 4);\n \tstrlcpy(drvinfo->bus_info, pci_name(adapter->pdev), 32);\n \tdrvinfo->n_priv_flags = IAVF_PRIV_FLAGS_STR_LEN;\ndiff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c\nindex 2050649848ba..6d0174b88954 100644\n--- a/drivers/net/ethernet/intel/iavf/iavf_main.c\n+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c\n@@ -21,16 +21,6 @@ char iavf_driver_name[] = \"iavf\";\n static const char iavf_driver_string[] =\n \t\"Intel(R) Ethernet Adaptive Virtual Function Network Driver\";\n \n-#define DRV_KERN \"-k\"\n-\n-#define DRV_VERSION_MAJOR 3\n-#define DRV_VERSION_MINOR 2\n-#define DRV_VERSION_BUILD 3\n-#define DRV_VERSION __stringify(DRV_VERSION_MAJOR) \".\" \\\n-\t     __stringify(DRV_VERSION_MINOR) \".\" \\\n-\t     __stringify(DRV_VERSION_BUILD) \\\n-\t     DRV_KERN\n-const char iavf_driver_version[] = DRV_VERSION;\n static const char iavf_copyright[] =\n \t\"Copyright (c) 2013 - 2018 Intel Corporation.\";\n \n@@ -57,7 +47,6 @@ MODULE_ALIAS(\"i40evf\");\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(\"Intel(R) Ethernet Adaptive Virtual Function Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n static const struct net_device_ops iavf_netdev_ops;\n struct workqueue_struct *iavf_wq;\n@@ -3967,8 +3956,7 @@ static int __init iavf_init_module(void)\n {\n \tint ret;\n \n-\tpr_info(\"iavf: %s - version %s\\n\", iavf_driver_string,\n-\t\tiavf_driver_version);\n+\tpr_info(\"iavf: %s\\n\", iavf_driver_string);\n \n \tpr_info(\"%s\\n\", iavf_copyright);\n \ndiff --git a/drivers/net/ethernet/intel/iavf/iavf_type.h b/drivers/net/ethernet/intel/iavf/iavf_type.h\nindex 7190a40c540c..de9fda78b43a 100644\n--- a/drivers/net/ethernet/intel/iavf/iavf_type.h\n+++ b/drivers/net/ethernet/intel/iavf/iavf_type.h\n@@ -192,14 +192,6 @@ struct iavf_hw {\n \tchar err_str[16];\n };\n \n-struct iavf_driver_version {\n-\tu8 major_version;\n-\tu8 minor_version;\n-\tu8 build_version;\n-\tu8 subbuild_version;\n-\tu8 driver_string[32];\n-};\n-\n /* RX Descriptors */\n union iavf_16byte_rx_desc {\n \tstruct {\ndiff --git a/drivers/net/ethernet/intel/ice/ice.h b/drivers/net/ethernet/intel/ice/ice.h\nindex 8e877860a96f..561908419f3c 100644\n--- a/drivers/net/ethernet/intel/ice/ice.h\n+++ b/drivers/net/ethernet/intel/ice/ice.h\n@@ -56,7 +56,6 @@\n #include \"ice_xsk.h\"\n #include \"ice_arfs.h\"\n \n-extern const char ice_drv_ver[];\n #define ICE_BAR0\t\t0\n #define ICE_REQ_DESC_MULTIPLE\t32\n #define ICE_MIN_NUM_DESC\t64\ndiff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c\nindex 68c38004a088..7066775769eb 100644\n--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c\n+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c\n@@ -179,7 +179,6 @@ ice_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo)\n \torom = &nvm->orom;\n \n \tstrscpy(drvinfo->driver, KBUILD_MODNAME, sizeof(drvinfo->driver));\n-\tstrscpy(drvinfo->version, ice_drv_ver, sizeof(drvinfo->version));\n \n \t/* Display NVM version (from which the firmware version can be\n \t * determined) which contains more pertinent information.\ndiff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c\nindex 2633c279c950..f80e79e8b139 100644\n--- a/drivers/net/ethernet/intel/ice/ice_main.c\n+++ b/drivers/net/ethernet/intel/ice/ice_main.c\n@@ -5,6 +5,7 @@\n \n #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\n \n+#include <generated/utsrelease.h>\n #include <linux/virtual_bus.h>\n #include \"ice.h\"\n #include \"ice_base.h\"\n@@ -14,15 +15,7 @@\n #include \"ice_dcb_nl.h\"\n #include \"ice_devlink.h\"\n \n-#define DRV_VERSION_MAJOR 0\n-#define DRV_VERSION_MINOR 8\n-#define DRV_VERSION_BUILD 2\n-\n-#define DRV_VERSION\t__stringify(DRV_VERSION_MAJOR) \".\" \\\n-\t\t\t__stringify(DRV_VERSION_MINOR) \".\" \\\n-\t\t\t__stringify(DRV_VERSION_BUILD) \"-k\"\n #define DRV_SUMMARY\t\"Intel(R) Ethernet Connection E800 Series Linux Driver\"\n-const char ice_drv_ver[] = DRV_VERSION;\n static const char ice_driver_string[] = DRV_SUMMARY;\n static const char ice_copyright[] = \"Copyright (c) 2018, Intel Corporation.\";\n \n@@ -33,7 +26,6 @@ static const char ice_copyright[] = \"Copyright (c) 2018, Intel Corporation.\";\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(DRV_SUMMARY);\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n MODULE_FIRMWARE(ICE_DDP_PKG_FILE);\n \n static int debug = -1;\n@@ -3191,11 +3183,11 @@ static enum ice_status ice_send_version(struct ice_pf *pf)\n {\n \tstruct ice_driver_ver dv;\n \n-\tdv.major_ver = DRV_VERSION_MAJOR;\n-\tdv.minor_ver = DRV_VERSION_MINOR;\n-\tdv.build_ver = DRV_VERSION_BUILD;\n+\tdv.major_ver = 0xff;\n+\tdv.minor_ver = 0xff;\n+\tdv.build_ver = 0xff;\n \tdv.subbuild_ver = 0;\n-\tstrscpy((char *)dv.driver_string, DRV_VERSION,\n+\tstrscpy((char *)dv.driver_string, UTS_RELEASE,\n \t\tsizeof(dv.driver_string));\n \treturn ice_aq_send_driver_ver(&pf->hw, &dv, NULL);\n }\n@@ -3486,7 +3478,7 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)\n \terr = ice_send_version(pf);\n \tif (err) {\n \t\tdev_err(dev, \"probe failed sending driver version %s. error: %d\\n\",\n-\t\t\tice_drv_ver, err);\n+\t\t\tUTS_RELEASE, err);\n \t\tgoto err_alloc_sw_unroll;\n \t}\n \n@@ -3829,7 +3821,7 @@ static int __init ice_module_init(void)\n {\n \tint status;\n \n-\tpr_info(\"%s - version %s\\n\", ice_driver_string, ice_drv_ver);\n+\tpr_info(\"%s\\n\", ice_driver_string);\n \tpr_info(\"%s\\n\", ice_copyright);\n \n \tice_wq = alloc_workqueue(\"%s\", WQ_MEM_RECLAIM, 0, KBUILD_MODNAME);\ndiff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h\nindex 0c9282e2aaec..2f015b60a995 100644\n--- a/drivers/net/ethernet/intel/igb/igb.h\n+++ b/drivers/net/ethernet/intel/igb/igb.h\n@@ -642,7 +642,6 @@ enum igb_boards {\n };\n \n extern char igb_driver_name[];\n-extern char igb_driver_version[];\n \n int igb_open(struct net_device *netdev);\n int igb_close(struct net_device *netdev);\ndiff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c\nindex 2cd003c5ad43..da60e8d2128f 100644\n--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c\n+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c\n@@ -851,7 +851,6 @@ static void igb_get_drvinfo(struct net_device *netdev,\n \tstruct igb_adapter *adapter = netdev_priv(netdev);\n \n \tstrlcpy(drvinfo->driver,  igb_driver_name, sizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, igb_driver_version, sizeof(drvinfo->version));\n \n \t/* EEPROM image version # is reported as firmware version # for\n \t * 82575 controllers\ndiff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c\nindex b46bff8fe056..32fe393eaa22 100644\n--- a/drivers/net/ethernet/intel/igb/igb_main.c\n+++ b/drivers/net/ethernet/intel/igb/igb_main.c\n@@ -38,12 +38,6 @@\n #include <linux/i2c.h>\n #include \"igb.h\"\n \n-#define MAJ 5\n-#define MIN 6\n-#define BUILD 0\n-#define DRV_VERSION __stringify(MAJ) \".\" __stringify(MIN) \".\" \\\n-__stringify(BUILD) \"-k\"\n-\n enum queue_mode {\n \tQUEUE_MODE_STRICT_PRIORITY,\n \tQUEUE_MODE_STREAM_RESERVATION,\n@@ -55,7 +49,6 @@ enum tx_queue_prio {\n };\n \n char igb_driver_name[] = \"igb\";\n-char igb_driver_version[] = DRV_VERSION;\n static const char igb_driver_string[] =\n \t\t\t\t\"Intel(R) Gigabit Ethernet Network Driver\";\n static const char igb_copyright[] =\n@@ -240,7 +233,6 @@ static struct pci_driver igb_driver = {\n MODULE_AUTHOR(\"Intel Corporation, <e1000-devel@lists.sourceforge.net>\");\n MODULE_DESCRIPTION(\"Intel(R) Gigabit Ethernet Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)\n static int debug = -1;\n@@ -666,8 +658,7 @@ static int __init igb_init_module(void)\n {\n \tint ret;\n \n-\tpr_info(\"%s - version %s\\n\",\n-\t       igb_driver_string, igb_driver_version);\n+\tpr_info(\"%s\\n\", igb_driver_string);\n \tpr_info(\"%s\\n\", igb_copyright);\n \n #ifdef CONFIG_IGB_DCA\ndiff --git a/drivers/net/ethernet/intel/igbvf/ethtool.c b/drivers/net/ethernet/intel/igbvf/ethtool.c\nindex 9217d150e286..f4835eb62fee 100644\n--- a/drivers/net/ethernet/intel/igbvf/ethtool.c\n+++ b/drivers/net/ethernet/intel/igbvf/ethtool.c\n@@ -170,8 +170,6 @@ static void igbvf_get_drvinfo(struct net_device *netdev,\n \tstruct igbvf_adapter *adapter = netdev_priv(netdev);\n \n \tstrlcpy(drvinfo->driver,  igbvf_driver_name, sizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, igbvf_driver_version,\n-\t\tsizeof(drvinfo->version));\n \tstrlcpy(drvinfo->bus_info, pci_name(adapter->pdev),\n \t\tsizeof(drvinfo->bus_info));\n }\ndiff --git a/drivers/net/ethernet/intel/igbvf/igbvf.h b/drivers/net/ethernet/intel/igbvf/igbvf.h\nindex eee26a3be90b..975eb47ee04d 100644\n--- a/drivers/net/ethernet/intel/igbvf/igbvf.h\n+++ b/drivers/net/ethernet/intel/igbvf/igbvf.h\n@@ -281,7 +281,6 @@ enum igbvf_state_t {\n };\n \n extern char igbvf_driver_name[];\n-extern const char igbvf_driver_version[];\n \n void igbvf_check_options(struct igbvf_adapter *);\n void igbvf_set_ethtool_ops(struct net_device *);\ndiff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c\nindex 5b1800c3ba82..07740654df5c 100644\n--- a/drivers/net/ethernet/intel/igbvf/netdev.c\n+++ b/drivers/net/ethernet/intel/igbvf/netdev.c\n@@ -24,9 +24,7 @@\n \n #include \"igbvf.h\"\n \n-#define DRV_VERSION \"2.4.0-k\"\n char igbvf_driver_name[] = \"igbvf\";\n-const char igbvf_driver_version[] = DRV_VERSION;\n static const char igbvf_driver_string[] =\n \t\t  \"Intel(R) Gigabit Virtual Function Network Driver\";\n static const char igbvf_copyright[] =\n@@ -2987,7 +2985,7 @@ static int __init igbvf_init_module(void)\n {\n \tint ret;\n \n-\tpr_info(\"%s - version %s\\n\", igbvf_driver_string, igbvf_driver_version);\n+\tpr_info(\"%s\\n\", igbvf_driver_string);\n \tpr_info(\"%s\\n\", igbvf_copyright);\n \n \tret = pci_register_driver(&igbvf_driver);\n@@ -3011,6 +3009,5 @@ module_exit(igbvf_exit_module);\n MODULE_AUTHOR(\"Intel Corporation, <e1000-devel@lists.sourceforge.net>\");\n MODULE_DESCRIPTION(\"Intel(R) Gigabit Virtual Function Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n /* netdev.c */\ndiff --git a/drivers/net/ethernet/intel/igc/igc.h b/drivers/net/ethernet/intel/igc/igc.h\nindex ce3ca6d4a6de..9c57afad6afe 100644\n--- a/drivers/net/ethernet/intel/igc/igc.h\n+++ b/drivers/net/ethernet/intel/igc/igc.h\n@@ -242,7 +242,6 @@ void igc_rings_dump(struct igc_adapter *adapter);\n void igc_regs_dump(struct igc_adapter *adapter);\n \n extern char igc_driver_name[];\n-extern char igc_driver_version[];\n \n #define IGC_REGS_LEN\t\t\t740\n \ndiff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c b/drivers/net/ethernet/intel/igc/igc_ethtool.c\nindex 75c127fc766b..149f130b825e 100644\n--- a/drivers/net/ethernet/intel/igc/igc_ethtool.c\n+++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c\n@@ -131,7 +131,6 @@ static void igc_ethtool_get_drvinfo(struct net_device *netdev,\n \tstruct igc_adapter *adapter = netdev_priv(netdev);\n \n \tstrlcpy(drvinfo->driver,  igc_driver_name, sizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, igc_driver_version, sizeof(drvinfo->version));\n \n \t/* add fw_version here */\n \tstrlcpy(drvinfo->bus_info, pci_name(adapter->pdev),\ndiff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c\nindex 0be6153195f2..c767f5326ac9 100644\n--- a/drivers/net/ethernet/intel/igc/igc_main.c\n+++ b/drivers/net/ethernet/intel/igc/igc_main.c\n@@ -17,7 +17,6 @@\n #include \"igc_hw.h\"\n #include \"igc_tsn.h\"\n \n-#define DRV_VERSION\t\"0.0.1-k\"\n #define DRV_SUMMARY\t\"Intel(R) 2.5G Ethernet Linux Driver\"\n \n #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV | NETIF_MSG_PROBE | NETIF_MSG_LINK)\n@@ -27,12 +26,10 @@ static int debug = -1;\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(DRV_SUMMARY);\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n module_param(debug, int, 0);\n MODULE_PARM_DESC(debug, \"Debug level (0=none,...,16=all)\");\n \n char igc_driver_name[] = \"igc\";\n-char igc_driver_version[] = DRV_VERSION;\n static const char igc_driver_string[] = DRV_SUMMARY;\n static const char igc_copyright[] =\n \t\"Copyright(c) 2018 Intel Corporation.\";\n@@ -5634,9 +5631,7 @@ static int __init igc_init_module(void)\n {\n \tint ret;\n \n-\tpr_info(\"%s - version %s\\n\",\n-\t\tigc_driver_string, igc_driver_version);\n-\n+\tpr_info(\"%s\\n\", igc_driver_string);\n \tpr_info(\"%s\\n\", igc_copyright);\n \n \tret = pci_register_driver(&igc_driver);\ndiff --git a/drivers/net/ethernet/intel/ixgb/ixgb.h b/drivers/net/ethernet/intel/ixgb/ixgb.h\nindex 681d44cc9784..81ac39576803 100644\n--- a/drivers/net/ethernet/intel/ixgb/ixgb.h\n+++ b/drivers/net/ethernet/intel/ixgb/ixgb.h\n@@ -163,7 +163,6 @@ enum ixgb_state_t {\n void ixgb_check_options(struct ixgb_adapter *adapter);\n void ixgb_set_ethtool_ops(struct net_device *netdev);\n extern char ixgb_driver_name[];\n-extern const char ixgb_driver_version[];\n \n void ixgb_set_speed_duplex(struct net_device *netdev);\n \ndiff --git a/drivers/net/ethernet/intel/ixgb/ixgb_ethtool.c b/drivers/net/ethernet/intel/ixgb/ixgb_ethtool.c\nindex c65eb1afc8fb..582099a5ad41 100644\n--- a/drivers/net/ethernet/intel/ixgb/ixgb_ethtool.c\n+++ b/drivers/net/ethernet/intel/ixgb/ixgb_ethtool.c\n@@ -458,8 +458,6 @@ ixgb_get_drvinfo(struct net_device *netdev,\n \n \tstrlcpy(drvinfo->driver,  ixgb_driver_name,\n \t\tsizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, ixgb_driver_version,\n-\t\tsizeof(drvinfo->version));\n \tstrlcpy(drvinfo->bus_info, pci_name(adapter->pdev),\n \t\tsizeof(drvinfo->bus_info));\n }\ndiff --git a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c\nindex b64e91ea3465..46829cfd54df 100644\n--- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c\n+++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c\n@@ -9,9 +9,6 @@\n char ixgb_driver_name[] = \"ixgb\";\n static char ixgb_driver_string[] = \"Intel(R) PRO/10GbE Network Driver\";\n \n-#define DRIVERNAPI \"-NAPI\"\n-#define DRV_VERSION \"1.0.135-k2\" DRIVERNAPI\n-const char ixgb_driver_version[] = DRV_VERSION;\n static const char ixgb_copyright[] = \"Copyright (c) 1999-2008 Intel Corporation.\";\n \n #define IXGB_CB_LENGTH 256\n@@ -103,7 +100,6 @@ static struct pci_driver ixgb_driver = {\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(\"Intel(R) PRO/10GbE Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)\n static int debug = -1;\n@@ -120,7 +116,7 @@ MODULE_PARM_DESC(debug, \"Debug level (0=none,...,16=all)\");\n static int __init\n ixgb_init_module(void)\n {\n-\tpr_info(\"%s - version %s\\n\", ixgb_driver_string, ixgb_driver_version);\n+\tpr_info(\"%s\\n\", ixgb_driver_string);\n \tpr_info(\"%s\\n\", ixgb_copyright);\n \n \treturn pci_register_driver(&ixgb_driver);\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h\nindex 5ddfc83a1e46..debbcf216134 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h\n@@ -846,7 +846,6 @@ extern const struct dcbnl_rtnl_ops ixgbe_dcbnl_ops;\n #endif\n \n extern char ixgbe_driver_name[];\n-extern const char ixgbe_driver_version[];\n #ifdef IXGBE_FCOE\n extern char ixgbe_default_device_descr[];\n #endif /* IXGBE_FCOE */\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c\nindex c6bf0a50ee63..5da367cb5c93 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c\n@@ -1004,8 +1004,6 @@ static void ixgbe_get_drvinfo(struct net_device *netdev,\n \tstruct ixgbe_adapter *adapter = netdev_priv(netdev);\n \n \tstrlcpy(drvinfo->driver, ixgbe_driver_name, sizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, ixgbe_driver_version,\n-\t\tsizeof(drvinfo->version));\n \n \tstrlcpy(drvinfo->fw_version, adapter->eeprom_id,\n \t\tsizeof(drvinfo->fw_version));\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c\nindex ec7a11d13fdc..6c5703cdf062 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c\n@@ -5,6 +5,7 @@\n #include <linux/if_ether.h>\n #include <linux/gfp.h>\n #include <linux/if_vlan.h>\n+#include <generated/utsrelease.h>\n #include <scsi/scsi_cmnd.h>\n #include <scsi/scsi_device.h>\n #include <scsi/fc/fc_fs.h>\n@@ -1001,7 +1002,7 @@ int ixgbe_fcoe_get_hbainfo(struct net_device *netdev,\n \t\t sizeof(info->driver_version),\n \t\t \"%s v%s\",\n \t\t ixgbe_driver_name,\n-\t\t ixgbe_driver_version);\n+\t\t UTS_RELEASE);\n \t/* Firmware Version */\n \tstrlcpy(info->firmware_version, adapter->eeprom_id,\n \t\tsizeof(info->firmware_version));\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex 52139bd89650..25cb9afb7283 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n@@ -28,6 +28,7 @@\n #include <linux/bpf_trace.h>\n #include <linux/atomic.h>\n #include <linux/numa.h>\n+#include <generated/utsrelease.h>\n #include <scsi/fc/fc_fcoe.h>\n #include <net/udp_tunnel.h>\n #include <net/pkt_cls.h>\n@@ -56,8 +57,6 @@ char ixgbe_default_device_descr[] =\n static char ixgbe_default_device_descr[] =\n \t\t\t      \"Intel(R) 10 Gigabit Network Connection\";\n #endif\n-#define DRV_VERSION \"5.1.0-k\"\n-const char ixgbe_driver_version[] = DRV_VERSION;\n static const char ixgbe_copyright[] =\n \t\t\t\t\"Copyright (c) 1999-2016 Intel Corporation.\";\n \n@@ -165,7 +164,6 @@ MODULE_PARM_DESC(debug, \"Debug level (0=none,...,16=all)\");\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(\"Intel(R) 10 Gigabit PCI Express Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n static struct workqueue_struct *ixgbe_wq;\n \n@@ -11151,8 +11149,8 @@ static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent)\n \t */\n \tif (hw->mac.ops.set_fw_drv_ver)\n \t\thw->mac.ops.set_fw_drv_ver(hw, 0xFF, 0xFF, 0xFF, 0xFF,\n-\t\t\t\t\t   sizeof(ixgbe_driver_version) - 1,\n-\t\t\t\t\t   ixgbe_driver_version);\n+\t\t\t\t\t   sizeof(UTS_RELEASE) - 1,\n+\t\t\t\t\t   UTS_RELEASE);\n \n \t/* add san mac addr to netdev */\n \tixgbe_add_sanmac_netdev(netdev);\n@@ -11509,7 +11507,7 @@ static struct pci_driver ixgbe_driver = {\n static int __init ixgbe_init_module(void)\n {\n \tint ret;\n-\tpr_info(\"%s - version %s\\n\", ixgbe_driver_string, ixgbe_driver_version);\n+\tpr_info(\"%s\\n\", ixgbe_driver_string);\n \tpr_info(\"%s\\n\", ixgbe_copyright);\n \n \tixgbe_wq = create_singlethread_workqueue(ixgbe_driver_name);\ndiff --git a/drivers/net/ethernet/intel/ixgbevf/ethtool.c b/drivers/net/ethernet/intel/ixgbevf/ethtool.c\nindex 988fa49fa99a..e49fb1cd9a99 100644\n--- a/drivers/net/ethernet/intel/ixgbevf/ethtool.c\n+++ b/drivers/net/ethernet/intel/ixgbevf/ethtool.c\n@@ -218,8 +218,6 @@ static void ixgbevf_get_drvinfo(struct net_device *netdev,\n \tstruct ixgbevf_adapter *adapter = netdev_priv(netdev);\n \n \tstrlcpy(drvinfo->driver, ixgbevf_driver_name, sizeof(drvinfo->driver));\n-\tstrlcpy(drvinfo->version, ixgbevf_driver_version,\n-\t\tsizeof(drvinfo->version));\n \tstrlcpy(drvinfo->bus_info, pci_name(adapter->pdev),\n \t\tsizeof(drvinfo->bus_info));\n \ndiff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h\nindex ecab686574b6..a0e325774819 100644\n--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h\n+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h\n@@ -440,7 +440,6 @@ extern const struct ixgbe_mbx_operations ixgbevf_hv_mbx_ops;\n \n /* needed by ethtool.c */\n extern const char ixgbevf_driver_name[];\n-extern const char ixgbevf_driver_version[];\n \n int ixgbevf_open(struct net_device *netdev);\n int ixgbevf_close(struct net_device *netdev);\ndiff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\nindex a39e2cb384dd..635cbc25e2f2 100644\n--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n@@ -38,8 +38,6 @@ const char ixgbevf_driver_name[] = \"ixgbevf\";\n static const char ixgbevf_driver_string[] =\n \t\"Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver\";\n \n-#define DRV_VERSION \"4.1.0-k\"\n-const char ixgbevf_driver_version[] = DRV_VERSION;\n static char ixgbevf_copyright[] =\n \t\"Copyright (c) 2009 - 2018 Intel Corporation.\";\n \n@@ -81,7 +79,6 @@ MODULE_DEVICE_TABLE(pci, ixgbevf_pci_tbl);\n MODULE_AUTHOR(\"Intel Corporation, <linux.nics@intel.com>\");\n MODULE_DESCRIPTION(\"Intel(R) 10 Gigabit Virtual Function Network Driver\");\n MODULE_LICENSE(\"GPL v2\");\n-MODULE_VERSION(DRV_VERSION);\n \n #define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK)\n static int debug = -1;\n@@ -4913,9 +4910,7 @@ static struct pci_driver ixgbevf_driver = {\n  **/\n static int __init ixgbevf_init_module(void)\n {\n-\tpr_info(\"%s - version %s\\n\", ixgbevf_driver_string,\n-\t\tixgbevf_driver_version);\n-\n+\tpr_info(\"%s\\n\", ixgbevf_driver_string);\n \tpr_info(\"%s\\n\", ixgbevf_copyright);\n \tixgbevf_wq = create_singlethread_workqueue(ixgbevf_driver_name);\n \tif (!ixgbevf_wq) {\n",
    "prefixes": [
        "next-queue",
        "v3"
    ]
}