Commit 59211053 authored by David S. Miller's avatar David S. Miller

Merge branch 'vermagic-non-global'

Leon Romanovsky says:

====================
Remove vermagic header from global include folder

Changelog:
v2:
 * Changed the implementation of patch #4 to be like Masahiro wants.
I personally don't like this implementation and changing it just to move forward
this this patchset.
v1:
https://lore.kernel.org/lkml/20200415133648.1306956-1-leon@kernel.org
 * Added tags
 * Updated patch #4 with test results
 * Changed scripts/mod/modpost.c to create inclusion of vermagic.h
   from kernel folder and not from general include/linux. This is
   needed to generate *.mod.c files, while building modules.
v0:
https://lore.kernel.org/lkml/20200414155732.1236944-1-leon@kernel.org

This is followup to the failure reported by Borislav [1] and suggested
fix later on [2].

The series removes all includes of linux/vermagic.h, updates hns and
nfp to use same kernel versioning scheme (exactly like we did for
other drivers in previous cycle) and removes vermagic.h from global
include folder.

[1] https://lore.kernel.org/lkml/20200411155623.GA22175@zn.tnic
[2] https://lore.kernel.org/lkml/20200413080452.GA3772@zn.tnic
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents b6246f4d 51161bfc
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
#ifndef _BONDING_PRIV_H #ifndef _BONDING_PRIV_H
#define _BONDING_PRIV_H #define _BONDING_PRIV_H
#include <linux/vermagic.h> #include <generated/utsrelease.h>
#define DRV_NAME "bonding" #define DRV_NAME "bonding"
#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
......
...@@ -85,7 +85,6 @@ ...@@ -85,7 +85,6 @@
#include <linux/device.h> #include <linux/device.h>
#include <linux/eisa.h> #include <linux/eisa.h>
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/vermagic.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/io.h> #include <asm/io.h>
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
*/ */
#include <linux/vermagic.h>
#define DRV_NAME "3c515" #define DRV_NAME "3c515"
#define CORKSCREW 1 #define CORKSCREW 1
......
...@@ -45,7 +45,6 @@ ...@@ -45,7 +45,6 @@
#include <asm/processor.h> /* Processor type for cache alignment. */ #include <asm/processor.h> /* Processor type for cache alignment. */
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/io.h> #include <asm/io.h>
#include <linux/vermagic.h>
/* /*
* The current frame processor firmware fails to checksum a fragment * The current frame processor firmware fails to checksum a fragment
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <linux/aer.h> #include <linux/aer.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/sctp.h> #include <linux/sctp.h>
#include <linux/vermagic.h>
#include <net/gre.h> #include <net/gre.h>
#include <net/ip6_checksum.h> #include <net/ip6_checksum.h>
#include <net/pkt_cls.h> #include <net/pkt_cls.h>
...@@ -44,7 +43,6 @@ static void hns3_clear_all_ring(struct hnae3_handle *h, bool force); ...@@ -44,7 +43,6 @@ static void hns3_clear_all_ring(struct hnae3_handle *h, bool force);
static void hns3_remove_hw_addr(struct net_device *netdev); static void hns3_remove_hw_addr(struct net_device *netdev);
static const char hns3_driver_name[] = "hns3"; static const char hns3_driver_name[] = "hns3";
const char hns3_driver_version[] = VERMAGIC_STRING;
static const char hns3_driver_string[] = static const char hns3_driver_string[] =
"Hisilicon Ethernet Network Driver for Hip08 Family"; "Hisilicon Ethernet Network Driver for Hip08 Family";
static const char hns3_copyright[] = "Copyright (c) 2017 Huawei Corporation."; static const char hns3_copyright[] = "Copyright (c) 2017 Huawei Corporation.";
...@@ -4765,4 +4763,3 @@ MODULE_DESCRIPTION("HNS3: Hisilicon Ethernet Driver"); ...@@ -4765,4 +4763,3 @@ MODULE_DESCRIPTION("HNS3: Hisilicon Ethernet Driver");
MODULE_AUTHOR("Huawei Tech. Co., Ltd."); MODULE_AUTHOR("Huawei Tech. Co., Ltd.");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("pci:hns-nic"); MODULE_ALIAS("pci:hns-nic");
MODULE_VERSION(HNS3_MOD_VERSION);
...@@ -8,10 +8,6 @@ ...@@ -8,10 +8,6 @@
#include "hnae3.h" #include "hnae3.h"
#define HNS3_MOD_VERSION "1.0"
extern const char hns3_driver_version[];
enum hns3_nic_state { enum hns3_nic_state {
HNS3_NIC_STATE_TESTING, HNS3_NIC_STATE_TESTING,
HNS3_NIC_STATE_RESETTING, HNS3_NIC_STATE_RESETTING,
......
...@@ -546,10 +546,6 @@ static void hns3_get_drvinfo(struct net_device *netdev, ...@@ -546,10 +546,6 @@ static void hns3_get_drvinfo(struct net_device *netdev,
return; return;
} }
strncpy(drvinfo->version, hns3_driver_version,
sizeof(drvinfo->version));
drvinfo->version[sizeof(drvinfo->version) - 1] = '\0';
strncpy(drvinfo->driver, h->pdev->driver->name, strncpy(drvinfo->driver, h->pdev->driver->name,
sizeof(drvinfo->driver)); sizeof(drvinfo->driver));
drvinfo->driver[sizeof(drvinfo->driver) - 1] = '\0'; drvinfo->driver[sizeof(drvinfo->driver) - 1] = '\0';
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/firmware.h> #include <linux/firmware.h>
#include <linux/vermagic.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include <net/devlink.h> #include <net/devlink.h>
...@@ -31,7 +30,6 @@ ...@@ -31,7 +30,6 @@
#include "nfp_net.h" #include "nfp_net.h"
static const char nfp_driver_name[] = "nfp"; static const char nfp_driver_name[] = "nfp";
const char nfp_driver_version[] = VERMAGIC_STRING;
static const struct pci_device_id nfp_pci_device_ids[] = { static const struct pci_device_id nfp_pci_device_ids[] = {
{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NETRONOME_NFP6000, { PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NETRONOME_NFP6000,
...@@ -920,4 +918,3 @@ MODULE_FIRMWARE("netronome/nic_AMDA0099-0001_1x10_1x25.nffw"); ...@@ -920,4 +918,3 @@ MODULE_FIRMWARE("netronome/nic_AMDA0099-0001_1x10_1x25.nffw");
MODULE_AUTHOR("Netronome Systems <oss-drivers@netronome.com>"); MODULE_AUTHOR("Netronome Systems <oss-drivers@netronome.com>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("The Netronome Flow Processor (NFP) driver."); MODULE_DESCRIPTION("The Netronome Flow Processor (NFP) driver.");
MODULE_VERSION(UTS_RELEASE);
...@@ -203,8 +203,6 @@ nfp_get_drvinfo(struct nfp_app *app, struct pci_dev *pdev, ...@@ -203,8 +203,6 @@ nfp_get_drvinfo(struct nfp_app *app, struct pci_dev *pdev,
char nsp_version[ETHTOOL_FWVERS_LEN] = {}; char nsp_version[ETHTOOL_FWVERS_LEN] = {};
strlcpy(drvinfo->driver, pdev->driver->name, sizeof(drvinfo->driver)); strlcpy(drvinfo->driver, pdev->driver->name, sizeof(drvinfo->driver));
strlcpy(drvinfo->version, nfp_driver_version, sizeof(drvinfo->version));
nfp_net_get_nspinfo(app, nsp_version); nfp_net_get_nspinfo(app, nsp_version);
snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version), snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
"%s %s %s %s", vnic_version, nsp_version, "%s %s %s %s", vnic_version, nsp_version,
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/utsname.h> #include <linux/utsname.h>
#include <linux/vermagic.h> #include <generated/utsrelease.h>
#include "ionic.h" #include "ionic.h"
#include "ionic_bus.h" #include "ionic_bus.h"
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#include <linux/power_supply.h> #include <linux/power_supply.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/vermagic.h> #include <generated/utsrelease.h>
enum test_power_id { enum test_power_id {
TEST_AC, TEST_AC,
......
/* SPDX-License-Identifier: GPL-2.0 */ /* SPDX-License-Identifier: GPL-2.0 */
#ifndef INCLUDE_VERMAGIC
#error "This header can be included from kernel/module.c or *.mod.c only"
#endif
#include <generated/utsrelease.h> #include <generated/utsrelease.h>
/* Simply sanity version stamp for modules. */ /* Simply sanity version stamp for modules. */
......
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
Copyright (C) 2001 Rusty Russell, 2002, 2010 Rusty Russell IBM. Copyright (C) 2001 Rusty Russell, 2002, 2010 Rusty Russell IBM.
*/ */
#define INCLUDE_VERMAGIC
#include <linux/export.h> #include <linux/export.h>
#include <linux/extable.h> #include <linux/extable.h>
#include <linux/moduleloader.h> #include <linux/moduleloader.h>
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include <linux/phy.h> #include <linux/phy.h>
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/vermagic.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include <linux/sfp.h> #include <linux/sfp.h>
#include <linux/slab.h> #include <linux/slab.h>
...@@ -28,7 +27,7 @@ ...@@ -28,7 +27,7 @@
#include <net/xdp_sock.h> #include <net/xdp_sock.h>
#include <net/flow_offload.h> #include <net/flow_offload.h>
#include <linux/ethtool_netlink.h> #include <linux/ethtool_netlink.h>
#include <generated/utsrelease.h>
#include "common.h" #include "common.h"
/* /*
......
...@@ -2251,6 +2251,7 @@ static void add_header(struct buffer *b, struct module *mod) ...@@ -2251,6 +2251,7 @@ static void add_header(struct buffer *b, struct module *mod)
* Include build-salt.h after module.h in order to * Include build-salt.h after module.h in order to
* inherit the definitions. * inherit the definitions.
*/ */
buf_printf(b, "#define INCLUDE_VERMAGIC\n");
buf_printf(b, "#include <linux/build-salt.h>\n"); buf_printf(b, "#include <linux/build-salt.h>\n");
buf_printf(b, "#include <linux/vermagic.h>\n"); buf_printf(b, "#include <linux/vermagic.h>\n");
buf_printf(b, "#include <linux/compiler.h>\n"); buf_printf(b, "#include <linux/compiler.h>\n");
......
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