[PATCH v2 0/7] MODULE_LICENSE removals, first tranche

STALE1275d LANDED

Revision v2 of 2 in this series; landed in mainline as f98954b293d0 on 2023-02-17.

13 messages, 4 authors, 2023-02-16 · open the first message on its own page

[PATCH v2 0/7] MODULE_LICENSE removals, first tranche

From: Nick Alcock <hidden>
Date: 2023-02-16 15:24:39

This series, based on current modules-next, is part of a treewide cleanup
suggested by Luis Chamberlain, to remove the LICENSE_MODULE usage from
files/objects that are not tristate.  Due to recent changes to kbuild, these
uses are now problematic.  See the commit logs for more details.

(The commit log prefixes and Cc lists are automatically determined using
the script mentioned below.  I've eyeballed them, and they seem reasonable:
my apologies if they are not.)

This is a small initial tranche to see if the general approach is valid:
larger tranches can follow if desired and if these patches seem OK.
I'll be sending a second 24-patch tranche in a few hours if this
one meets with general approval.

(In total, there are 121 patches in this series.)


Differences from v1:
 - just remove MODULE_LICENSE, don't comment it out
 - Cc: paid maintainers as well as unpaid ones
 - improvements to the prefix determination code (notable in
   PCI: versatile in particular)

The series at a whole can be found here:
  https://github.com/nickalcock/linux module-license

The patch splitter (not for upstreaming!) used to prepare these
commits can be found here:
  https://github.com/nickalcock/linux mass-split

Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Nick Alcock (7):
  kbuild, PCI: versatile: remove MODULE_LICENSE in non-modules
  kbuild, PCI: mobiveil: remove MODULE_LICENSE in non-modules
  kbuild, PCI: tegra: remove MODULE_LICENSE in non-modules
  kbuild, PCI: endpoint: remove MODULE_LICENSE in non-modules
  kbuild, PCI: hip: remove MODULE_LICENSE in non-modules
  kbuild, shpchp: remove MODULE_LICENSE in non-modules
  kbuild, PCI: dwc: remove MODULE_LICENSE in non-modules

 drivers/pci/controller/dwc/pcie-histb.c              | 1 -
 drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c | 1 -
 drivers/pci/controller/pci-tegra.c                   | 1 -
 drivers/pci/controller/pci-versatile.c               | 1 -
 drivers/pci/controller/pcie-hisi-error.c             | 1 -
 drivers/pci/endpoint/pci-ep-cfs.c                    | 1 -
 drivers/pci/endpoint/pci-epc-core.c                  | 1 -
 drivers/pci/endpoint/pci-epc-mem.c                   | 1 -
 drivers/pci/endpoint/pci-epf-core.c                  | 1 -
 drivers/pci/hotplug/shpchp_core.c                    | 1 -
 10 files changed, 10 deletions(-)

-- 
2.39.1.268.g9de2f9a303

[PATCH v2 1/7] kbuild, PCI: versatile: remove MODULE_LICENSE in non-modules

From: Nick Alcock <hidden>
Date: 2023-02-16 15:24:46

Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/pci/controller/pci-versatile.c | 1 -
 1 file changed, 1 deletion(-)
diff --git a/drivers/pci/controller/pci-versatile.c b/drivers/pci/controller/pci-versatile.c
index 7991d334e0f1..e9a6758fe2c1 100644
--- a/drivers/pci/controller/pci-versatile.c
+++ b/drivers/pci/controller/pci-versatile.c
@@ -169,4 +169,3 @@ static struct platform_driver versatile_pci_driver = {
 module_platform_driver(versatile_pci_driver);
 
 MODULE_DESCRIPTION("Versatile PCI driver");
-MODULE_LICENSE("GPL v2");
-- 
2.39.1.268.g9de2f9a303

[PATCH v2 2/7] kbuild, PCI: mobiveil: remove MODULE_LICENSE in non-modules

From: Nick Alcock <hidden>
Date: 2023-02-16 15:25:04

Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Karthikeyan Mitran <redacted>
Cc: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
 drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c | 1 -
 1 file changed, 1 deletion(-)
diff --git a/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c b/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c
index f6fcd95c2bf5..c5bb87ff6d9a 100644
--- a/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c
+++ b/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c
@@ -56,6 +56,5 @@ static struct platform_driver mobiveil_pcie_driver = {
 
 builtin_platform_driver(mobiveil_pcie_driver);
 
-MODULE_LICENSE("GPL v2");
 MODULE_DESCRIPTION("Mobiveil PCIe host controller driver");
 MODULE_AUTHOR("Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in>");
-- 
2.39.1.268.g9de2f9a303

[PATCH v2 3/7] kbuild, PCI: tegra: remove MODULE_LICENSE in non-modules

From: Nick Alcock <hidden>
Date: 2023-02-16 15:25:06

Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Thierry Reding <redacted>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: linux-tegra@vger.kernel.org
Cc: linux-pci@vger.kernel.org
---
 drivers/pci/controller/pci-tegra.c | 1 -
 1 file changed, 1 deletion(-)
diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c
index 929f9363e94b..5bb05564d6f8 100644
--- a/drivers/pci/controller/pci-tegra.c
+++ b/drivers/pci/controller/pci-tegra.c
@@ -2814,4 +2814,3 @@ static struct platform_driver tegra_pcie_driver = {
 	.remove = tegra_pcie_remove,
 };
 module_platform_driver(tegra_pcie_driver);
-MODULE_LICENSE("GPL");
-- 
2.39.1.268.g9de2f9a303

[PATCH v2 4/7] kbuild, PCI: endpoint: remove MODULE_LICENSE in non-modules

From: Nick Alcock <hidden>
Date: 2023-02-16 15:25:11

Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
 drivers/pci/endpoint/pci-ep-cfs.c   | 1 -
 drivers/pci/endpoint/pci-epc-core.c | 1 -
 drivers/pci/endpoint/pci-epc-mem.c  | 1 -
 drivers/pci/endpoint/pci-epf-core.c | 1 -
 4 files changed, 4 deletions(-)
diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-ep-cfs.c
index d4850bdd837f..4b8ac0ac84d5 100644
--- a/drivers/pci/endpoint/pci-ep-cfs.c
+++ b/drivers/pci/endpoint/pci-ep-cfs.c
@@ -728,4 +728,3 @@ module_exit(pci_ep_cfs_exit);
 
 MODULE_DESCRIPTION("PCI EP CONFIGFS");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c
index 2542196e8c3d..dd750ad29485 100644
--- a/drivers/pci/endpoint/pci-epc-core.c
+++ b/drivers/pci/endpoint/pci-epc-core.c
@@ -861,4 +861,3 @@ module_exit(pci_epc_exit);
 
 MODULE_DESCRIPTION("PCI EPC Library");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epc-mem.c b/drivers/pci/endpoint/pci-epc-mem.c
index a97b56a6d2db..7dcf6f480b82 100644
--- a/drivers/pci/endpoint/pci-epc-mem.c
+++ b/drivers/pci/endpoint/pci-epc-mem.c
@@ -260,4 +260,3 @@ EXPORT_SYMBOL_GPL(pci_epc_mem_free_addr);
 
 MODULE_DESCRIPTION("PCI EPC Address Space Management");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c
index 9ed556936f48..2036e38be093 100644
--- a/drivers/pci/endpoint/pci-epf-core.c
+++ b/drivers/pci/endpoint/pci-epf-core.c
@@ -568,4 +568,3 @@ module_exit(pci_epf_exit);
 
 MODULE_DESCRIPTION("PCI EPF Library");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
-- 
2.39.1.268.g9de2f9a303

[PATCH v2 5/7] kbuild, PCI: hip: remove MODULE_LICENSE in non-modules

From: Nick Alcock <hidden>
Date: 2023-02-16 15:25:25

Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
 drivers/pci/controller/pcie-hisi-error.c | 1 -
 1 file changed, 1 deletion(-)
diff --git a/drivers/pci/controller/pcie-hisi-error.c b/drivers/pci/controller/pcie-hisi-error.c
index 7959c9c8d2bc..7d88eb696b06 100644
--- a/drivers/pci/controller/pcie-hisi-error.c
+++ b/drivers/pci/controller/pcie-hisi-error.c
@@ -324,4 +324,3 @@ static struct platform_driver hisi_pcie_error_handler_driver = {
 module_platform_driver(hisi_pcie_error_handler_driver);
 
 MODULE_DESCRIPTION("HiSilicon HIP PCIe controller error handling driver");
-MODULE_LICENSE("GPL v2");
-- 
2.39.1.268.g9de2f9a303

[PATCH v2 6/7] kbuild, shpchp: remove MODULE_LICENSE in non-modules

From: Nick Alcock <hidden>
Date: 2023-02-16 15:25:28

Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
 drivers/pci/hotplug/shpchp_core.c | 1 -
 1 file changed, 1 deletion(-)
diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c
index 53692b048301..56c7795ed890 100644
--- a/drivers/pci/hotplug/shpchp_core.c
+++ b/drivers/pci/hotplug/shpchp_core.c
@@ -32,7 +32,6 @@ int shpchp_poll_time;
 
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
-MODULE_LICENSE("GPL");
 
 module_param(shpchp_debug, bool, 0644);
 module_param(shpchp_poll_mode, bool, 0644);
-- 
2.39.1.268.g9de2f9a303

[PATCH v2 7/7] kbuild, PCI: dwc: remove MODULE_LICENSE in non-modules

From: Nick Alcock <hidden>
Date: 2023-02-16 15:25:40

Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Shawn Guo <redacted>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: linux-pci@vger.kernel.org
---
 drivers/pci/controller/dwc/pcie-histb.c | 1 -
 1 file changed, 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-histb.c b/drivers/pci/controller/dwc/pcie-histb.c
index 43c27812dd6d..927ae05dc920 100644
--- a/drivers/pci/controller/dwc/pcie-histb.c
+++ b/drivers/pci/controller/dwc/pcie-histb.c
@@ -450,4 +450,3 @@ static struct platform_driver histb_pcie_platform_driver = {
 module_platform_driver(histb_pcie_platform_driver);
 
 MODULE_DESCRIPTION("HiSilicon STB PCIe host controller driver");
-MODULE_LICENSE("GPL v2");
-- 
2.39.1.268.g9de2f9a303

Re: [PATCH v2 0/7] MODULE_LICENSE removals, first tranche

From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2023-02-16 17:43:40

[+cc PCI folks, who got the patches but not this cover letter, and
participants from the v1 posting]

On Thu, Feb 16, 2023 at 03:24:03PM +0000, Nick Alcock wrote:
This series, based on current modules-next, is part of a treewide cleanup
suggested by Luis Chamberlain, to remove the LICENSE_MODULE usage from
files/objects that are not tristate.  Due to recent changes to kbuild, these
uses are now problematic.  See the commit logs for more details.

(The commit log prefixes and Cc lists are automatically determined using
the script mentioned below.  I've eyeballed them, and they seem reasonable:
my apologies if they are not.)

This is a small initial tranche to see if the general approach is valid:
larger tranches can follow if desired and if these patches seem OK.
I'll be sending a second 24-patch tranche in a few hours if this
one meets with general approval.

(In total, there are 121 patches in this series.)


Differences from v1:
 - just remove MODULE_LICENSE, don't comment it out
 - Cc: paid maintainers as well as unpaid ones
 - improvements to the prefix determination code (notable in
   PCI: versatile in particular)

The series at a whole can be found here:
  https://github.com/nickalcock/linux module-license

The patch splitter (not for upstreaming!) used to prepare these
commits can be found here:
  https://github.com/nickalcock/linux mass-split

Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Nick Alcock (7):
  kbuild, PCI: versatile: remove MODULE_LICENSE in non-modules
  kbuild, PCI: mobiveil: remove MODULE_LICENSE in non-modules
  kbuild, PCI: tegra: remove MODULE_LICENSE in non-modules
  kbuild, PCI: endpoint: remove MODULE_LICENSE in non-modules
  kbuild, PCI: hip: remove MODULE_LICENSE in non-modules
  kbuild, shpchp: remove MODULE_LICENSE in non-modules
  kbuild, PCI: dwc: remove MODULE_LICENSE in non-modules

 drivers/pci/controller/dwc/pcie-histb.c              | 1 -
 drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c | 1 -
 drivers/pci/controller/pci-tegra.c                   | 1 -
 drivers/pci/controller/pci-versatile.c               | 1 -
 drivers/pci/controller/pcie-hisi-error.c             | 1 -
 drivers/pci/endpoint/pci-ep-cfs.c                    | 1 -
 drivers/pci/endpoint/pci-epc-core.c                  | 1 -
 drivers/pci/endpoint/pci-epc-mem.c                   | 1 -
 drivers/pci/endpoint/pci-epf-core.c                  | 1 -
 drivers/pci/hotplug/shpchp_core.c                    | 1 -
 10 files changed, 10 deletions(-)
I squashed these and applied to pci/kbuild for v6.3, thanks!

I added examples from the v1 posting to the commit log; let me know if
I got anything wrong:

commit 84cee45bafcb ("PCI: Remove MODULE_LICENSE so boolean drivers don't look like modules")
Author: Nick Alcock [off-list ref]
Date:   Thu Feb 16 15:24:04 2023 +0000

    PCI: Remove MODULE_LICENSE so boolean drivers don't look like modules
    
    Since 8b41fc4454e3 ("kbuild: create modules.builtin without
    Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations are
    used to identify modules. As a consequence, MODULE_LICENSE in non-modules
    causes modprobe to misidentify the object file as a module when it is not,
    and modprobe might succeed rather than failing with a suitable error
    message.
    
    For tristate modules that can be either built-in or loaded at runtime,
    modprobe succeeds in both cases:
    
      # modprobe ext4
      [exit status zero if CONFIG_EXT4_FS=y or =m]
    
    For boolean modules like the Standard Hot Plug Controller driver (shpchp)
    that cannot be loaded at runtime, modprobe should always fail like this:
    
      # modprobe shpchp
      modprobe: FATAL: Module shpchp not found in directory /lib/modules/...
      [exit status non-zero regardless of CONFIG_HOTPLUG_PCI_SHPC]
    
    but prior to this commit, shpchp_core.c contained MODULE_LICENSE, so
    "modprobe shpchp" silently succeeded when it should have failed.
    
    Remove MODULE_LICENSE in files that cannot be built as modules.
    
    [bhelgaas: commit log, squash]
    Suggested-by: Luis Chamberlain [off-list ref]
    Link: https://lore.kernel.org/r/20230216152410.4312-1-nick.alcock@oracle.com/
    Signed-off-by: Nick Alcock [off-list ref]
    Signed-off-by: Bjorn Helgaas [off-list ref]
    Cc: Luis Chamberlain [off-list ref]
    Cc: Hitomi Hasegawa [off-list ref]
    Cc: Rob Herring [off-list ref]
    Cc: Lorenzo Pieralisi [off-list ref]
diff --git a/drivers/pci/controller/dwc/pcie-histb.c b/drivers/pci/controller/dwc/pcie-histb.c
index 43c27812dd6d..927ae05dc920 100644
--- a/drivers/pci/controller/dwc/pcie-histb.c
+++ b/drivers/pci/controller/dwc/pcie-histb.c
@@ -450,4 +450,3 @@ static struct platform_driver histb_pcie_platform_driver = {
 module_platform_driver(histb_pcie_platform_driver);
 
 MODULE_DESCRIPTION("HiSilicon STB PCIe host controller driver");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c b/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c
index f6fcd95c2bf5..c5bb87ff6d9a 100644
--- a/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c
+++ b/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c
@@ -56,6 +56,5 @@ static struct platform_driver mobiveil_pcie_driver = {
 
 builtin_platform_driver(mobiveil_pcie_driver);
 
-MODULE_LICENSE("GPL v2");
 MODULE_DESCRIPTION("Mobiveil PCIe host controller driver");
 MODULE_AUTHOR("Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in>");
diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c
index 929f9363e94b..5bb05564d6f8 100644
--- a/drivers/pci/controller/pci-tegra.c
+++ b/drivers/pci/controller/pci-tegra.c
@@ -2814,4 +2814,3 @@ static struct platform_driver tegra_pcie_driver = {
 	.remove = tegra_pcie_remove,
 };
 module_platform_driver(tegra_pcie_driver);
-MODULE_LICENSE("GPL");
diff --git a/drivers/pci/controller/pci-versatile.c b/drivers/pci/controller/pci-versatile.c
index 7991d334e0f1..e9a6758fe2c1 100644
--- a/drivers/pci/controller/pci-versatile.c
+++ b/drivers/pci/controller/pci-versatile.c
@@ -169,4 +169,3 @@ static struct platform_driver versatile_pci_driver = {
 module_platform_driver(versatile_pci_driver);
 
 MODULE_DESCRIPTION("Versatile PCI driver");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/controller/pcie-hisi-error.c b/drivers/pci/controller/pcie-hisi-error.c
index 7959c9c8d2bc..7d88eb696b06 100644
--- a/drivers/pci/controller/pcie-hisi-error.c
+++ b/drivers/pci/controller/pcie-hisi-error.c
@@ -324,4 +324,3 @@ static struct platform_driver hisi_pcie_error_handler_driver = {
 module_platform_driver(hisi_pcie_error_handler_driver);
 
 MODULE_DESCRIPTION("HiSilicon HIP PCIe controller error handling driver");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-ep-cfs.c
index d4850bdd837f..4b8ac0ac84d5 100644
--- a/drivers/pci/endpoint/pci-ep-cfs.c
+++ b/drivers/pci/endpoint/pci-ep-cfs.c
@@ -728,4 +728,3 @@ module_exit(pci_ep_cfs_exit);
 
 MODULE_DESCRIPTION("PCI EP CONFIGFS");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c
index 2542196e8c3d..dd750ad29485 100644
--- a/drivers/pci/endpoint/pci-epc-core.c
+++ b/drivers/pci/endpoint/pci-epc-core.c
@@ -861,4 +861,3 @@ module_exit(pci_epc_exit);
 
 MODULE_DESCRIPTION("PCI EPC Library");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epc-mem.c b/drivers/pci/endpoint/pci-epc-mem.c
index a97b56a6d2db..7dcf6f480b82 100644
--- a/drivers/pci/endpoint/pci-epc-mem.c
+++ b/drivers/pci/endpoint/pci-epc-mem.c
@@ -260,4 +260,3 @@ EXPORT_SYMBOL_GPL(pci_epc_mem_free_addr);
 
 MODULE_DESCRIPTION("PCI EPC Address Space Management");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c
index 9ed556936f48..2036e38be093 100644
--- a/drivers/pci/endpoint/pci-epf-core.c
+++ b/drivers/pci/endpoint/pci-epf-core.c
@@ -568,4 +568,3 @@ module_exit(pci_epf_exit);
 
 MODULE_DESCRIPTION("PCI EPF Library");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c
index 53692b048301..56c7795ed890 100644
--- a/drivers/pci/hotplug/shpchp_core.c
+++ b/drivers/pci/hotplug/shpchp_core.c
@@ -32,7 +32,6 @@ int shpchp_poll_time;
 
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
-MODULE_LICENSE("GPL");
 
 module_param(shpchp_debug, bool, 0644);
 module_param(shpchp_poll_mode, bool, 0644);

Re: [PATCH v2 0/7] MODULE_LICENSE removals, first tranche

From: Conor Dooley <conor@kernel.org>
Date: 2023-02-16 18:01:35

On Thu, Feb 16, 2023 at 11:43:33AM -0600, Bjorn Helgaas wrote:
[+cc PCI folks, who got the patches but not this cover letter, and
participants from the v1 posting]
Thanks Bjorn..
On Thu, Feb 16, 2023 at 03:24:03PM +0000, Nick Alcock wrote:
quoted
This series, based on current modules-next, is part of a treewide cleanup
suggested by Luis Chamberlain, to remove the LICENSE_MODULE usage from
files/objects that are not tristate.  Due to recent changes to kbuild, these
uses are now problematic.  See the commit logs for more details.

(The commit log prefixes and Cc lists are automatically determined using
the script mentioned below.  I've eyeballed them, and they seem reasonable:
my apologies if they are not.)

This is a small initial tranche to see if the general approach is valid:
larger tranches can follow if desired and if these patches seem OK.
I'll be sending a second 24-patch tranche in a few hours if this
one meets with general approval.

(In total, there are 121 patches in this series.)


Differences from v1:
 - just remove MODULE_LICENSE, don't comment it out
 - Cc: paid maintainers as well as unpaid ones
 - improvements to the prefix determination code (notable in
   PCI: versatile in particular)

The series at a whole can be found here:
  https://github.com/nickalcock/linux module-license

The patch splitter (not for upstreaming!) used to prepare these
commits can be found here:
  https://github.com/nickalcock/linux mass-split

Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Nick Alcock (7):
  kbuild, PCI: versatile: remove MODULE_LICENSE in non-modules
  kbuild, PCI: mobiveil: remove MODULE_LICENSE in non-modules
  kbuild, PCI: tegra: remove MODULE_LICENSE in non-modules
  kbuild, PCI: endpoint: remove MODULE_LICENSE in non-modules
  kbuild, PCI: hip: remove MODULE_LICENSE in non-modules
  kbuild, shpchp: remove MODULE_LICENSE in non-modules
  kbuild, PCI: dwc: remove MODULE_LICENSE in non-modules

 drivers/pci/controller/dwc/pcie-histb.c              | 1 -
 drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c | 1 -
 drivers/pci/controller/pci-tegra.c                   | 1 -
 drivers/pci/controller/pci-versatile.c               | 1 -
 drivers/pci/controller/pcie-hisi-error.c             | 1 -
 drivers/pci/endpoint/pci-ep-cfs.c                    | 1 -
 drivers/pci/endpoint/pci-epc-core.c                  | 1 -
 drivers/pci/endpoint/pci-epc-mem.c                   | 1 -
 drivers/pci/endpoint/pci-epf-core.c                  | 1 -
 drivers/pci/hotplug/shpchp_core.c                    | 1 -
 10 files changed, 10 deletions(-)
I squashed these and applied to pci/kbuild for v6.3, thanks!

I added examples from the v1 posting to the commit log; let me know if
I got anything wrong:
I noticed that (as requested!) Nick dropped the change to the microchip
driver.
Would you like me to resend patch 3/11 of [1] to clear the decks of
"incorrect" MODULE_LICENSE usage?

Thanks,
Conor.

1 - https://lore.kernel.org/linux-pci/20230111125323.1911373-4-daire.mcnamara@microchip.com/

Re: [PATCH v2 4/7] kbuild, PCI: endpoint: remove MODULE_LICENSE in non-modules

From: Manivannan Sadhasivam <hidden>
Date: 2023-02-16 18:12:13

On Thu, Feb 16, 2023 at 03:24:07PM +0000, Nick Alcock wrote:
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <redacted>
Reviewed-by: Manivannan Sadhasivam <redacted>

Thanks,
Mani
quoted hunk
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
 drivers/pci/endpoint/pci-ep-cfs.c   | 1 -
 drivers/pci/endpoint/pci-epc-core.c | 1 -
 drivers/pci/endpoint/pci-epc-mem.c  | 1 -
 drivers/pci/endpoint/pci-epf-core.c | 1 -
 4 files changed, 4 deletions(-)
diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-ep-cfs.c
index d4850bdd837f..4b8ac0ac84d5 100644
--- a/drivers/pci/endpoint/pci-ep-cfs.c
+++ b/drivers/pci/endpoint/pci-ep-cfs.c
@@ -728,4 +728,3 @@ module_exit(pci_ep_cfs_exit);
 
 MODULE_DESCRIPTION("PCI EP CONFIGFS");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c
index 2542196e8c3d..dd750ad29485 100644
--- a/drivers/pci/endpoint/pci-epc-core.c
+++ b/drivers/pci/endpoint/pci-epc-core.c
@@ -861,4 +861,3 @@ module_exit(pci_epc_exit);
 
 MODULE_DESCRIPTION("PCI EPC Library");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epc-mem.c b/drivers/pci/endpoint/pci-epc-mem.c
index a97b56a6d2db..7dcf6f480b82 100644
--- a/drivers/pci/endpoint/pci-epc-mem.c
+++ b/drivers/pci/endpoint/pci-epc-mem.c
@@ -260,4 +260,3 @@ EXPORT_SYMBOL_GPL(pci_epc_mem_free_addr);
 
 MODULE_DESCRIPTION("PCI EPC Address Space Management");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c
index 9ed556936f48..2036e38be093 100644
--- a/drivers/pci/endpoint/pci-epf-core.c
+++ b/drivers/pci/endpoint/pci-epf-core.c
@@ -568,4 +568,3 @@ module_exit(pci_epf_exit);
 
 MODULE_DESCRIPTION("PCI EPF Library");
 MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
-MODULE_LICENSE("GPL v2");
-- 
2.39.1.268.g9de2f9a303
-- 
மணிவண்ணன் சதாசிவம்

Re: [PATCH v2 0/7] MODULE_LICENSE removals, first tranche

From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2023-02-16 19:16:41

On Thu, Feb 16, 2023 at 06:01:23PM +0000, Conor Dooley wrote:
On Thu, Feb 16, 2023 at 11:43:33AM -0600, Bjorn Helgaas wrote:
...
I noticed that (as requested!) Nick dropped the change to the microchip
driver.
Would you like me to resend patch 3/11 of [1] to clear the decks of
"incorrect" MODULE_LICENSE usage?
Thanks for noticing that.  I removed MODULE_LICENSE from
pcie-microchip-host.c for now.  We can easily add it back when [1] is
merged.

I haven't talked to Lorenzo about the series [1] is part of, but just
from the mailing list traffic, it looks like there are a couple open
questions (MSI config probing [2], "ranges" and address translation
stuff [3,4]), so that will likely miss this merge window.

Bjorn
1 - https://lore.kernel.org/linux-pci/20230111125323.1911373-4-daire.mcnamara@microchip.com/
[2] https://lore.kernel.org/r/Y9uiWscjKQpD7JvE@lpieralisi
[3] https://lore.kernel.org/r/Y9uebWEvuJYO31j1@lpieralisi
[4] https://lore.kernel.org/r/8dfc14be-a978-d84b-52e4-d421599fc783@arm.com

Re: [PATCH v2 0/7] MODULE_LICENSE removals, first tranche

From: Conor Dooley <conor@kernel.org>
Date: 2023-02-16 23:38:35

On Thu, Feb 16, 2023 at 01:16:32PM -0600, Bjorn Helgaas wrote:
On Thu, Feb 16, 2023 at 06:01:23PM +0000, Conor Dooley wrote:
quoted
On Thu, Feb 16, 2023 at 11:43:33AM -0600, Bjorn Helgaas wrote:
quoted
...
I noticed that (as requested!) Nick dropped the change to the microchip
driver.
Would you like me to resend patch 3/11 of [1] to clear the decks of
"incorrect" MODULE_LICENSE usage?
Thanks for noticing that.  I removed MODULE_LICENSE from
pcie-microchip-host.c for now.  We can easily add it back when [1] is
merged.

I haven't talked to Lorenzo about the series [1] is part of, but just
from the mailing list traffic, it looks like there are a couple open
questions (MSI config probing [2], "ranges" and address translation
stuff [3,4]), so that will likely miss this merge window.
Yah, I know the series itself is going to miss the mw, which is why I
mentioned resending 3/11 specifically. It's grand though, will just have
to add the license back when the series gets respun.
quoted
1 - https://lore.kernel.org/linux-pci/20230111125323.1911373-4-daire.mcnamara@microchip.com/
[2] https://lore.kernel.org/r/Y9uiWscjKQpD7JvE@lpieralisi
[3] https://lore.kernel.org/r/Y9uebWEvuJYO31j1@lpieralisi
[4] https://lore.kernel.org/r/8dfc14be-a978-d84b-52e4-d421599fc783@arm.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help