Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1290523 > unrolled thread
| Started by | Paul Gortmaker <paul.gortmaker@windriver.com> |
|---|---|
| First post | 2015-12-13 02:50 +0100 |
| Last post | 2015-12-14 10:00 +0100 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2015-12-13 02:50 +0100
Re: [PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2015-12-13 11:40 +0100
Re: [PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular Arnd Bergmann <arnd@arndb.de> - 2015-12-14 10:00 +0100
| From | Paul Gortmaker <paul.gortmaker@windriver.com> |
|---|---|
| Date | 2015-12-13 02:50 +0100 |
| Subject | [PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular |
| Message-ID | <qF3Xs-1IU-11@gated-at.bofh.it> |
The Kconfig currently controlling compilation of this code is:
drivers/pci/host/Kconfig:config PCI_MVEBU
drivers/pci/host/Kconfig: bool "Marvell EBU PCIe controller"
...meaning that it currently is not being built as a module by anyone.
Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.
Since module_platform_driver() uses the same init level priority as
builtin_platform_driver() the init ordering remains unchanged with
this commit.
We don't have to disallow a driver unbind, since that is already
done for us in this driver.
Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
We also delete the MODULE_LICENSE tag etc. since all that information
was (or is now ) contained at the top of the file in the comments.
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
drivers/pci/host/pci-mvebu.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
index 53b79c5f0559..17222f1a3ef3 100644
--- a/drivers/pci/host/pci-mvebu.c
+++ b/drivers/pci/host/pci-mvebu.c
@@ -1,6 +1,8 @@
/*
* PCIe driver for Marvell Armada 370 and Armada XP SoCs
*
+ * Module Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+ *
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
@@ -11,7 +13,7 @@
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/gpio.h>
-#include <linux/module.h>
+#include <linux/init.h>
#include <linux/mbus.h>
#include <linux/msi.h>
#include <linux/slab.h>
@@ -1296,7 +1298,6 @@ static const struct of_device_id mvebu_pcie_of_match_table[] = {
{ .compatible = "marvell,kirkwood-pcie", },
{},
};
-MODULE_DEVICE_TABLE(of, mvebu_pcie_of_match_table);
static struct dev_pm_ops mvebu_pcie_pm_ops = {
.suspend_noirq = mvebu_pcie_suspend,
@@ -1313,8 +1314,4 @@ static struct platform_driver mvebu_pcie_driver = {
},
.probe = mvebu_pcie_probe,
};
-module_platform_driver(mvebu_pcie_driver);
-
-MODULE_AUTHOR("Thomas Petazzoni <thomas.petazzoni@free-electrons.com>");
-MODULE_DESCRIPTION("Marvell EBU PCIe driver");
-MODULE_LICENSE("GPL v2");
+builtin_platform_driver(mvebu_pcie_driver);
--
2.6.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|---|---|
| Date | 2015-12-13 11:40 +0100 |
| Subject | Re: [PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular |
| Message-ID | <qFcel-7aI-3@gated-at.bofh.it> |
| In reply to | #1290523 |
Paul, On Sat, 12 Dec 2015 20:41:50 -0500, Paul Gortmaker wrote: > The Kconfig currently controlling compilation of this code is: > > drivers/pci/host/Kconfig:config PCI_MVEBU > drivers/pci/host/Kconfig: bool "Marvell EBU PCIe controller" > > ...meaning that it currently is not being built as a module by anyone. > > Lets remove the modular code that is essentially orphaned, so that > when reading the driver there is no doubt it is builtin-only. > > Since module_platform_driver() uses the same init level priority as > builtin_platform_driver() the init ordering remains unchanged with > this commit. > > We don't have to disallow a driver unbind, since that is already > done for us in this driver. > > Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. > > We also delete the MODULE_LICENSE tag etc. since all that information > was (or is now ) contained at the top of the file in the comments. > > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: Jason Cooper <jason@lakedaemon.net> > Cc: Bjorn Helgaas <bhelgaas@google.com> > Cc: linux-pci@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > --- > drivers/pci/host/pci-mvebu.c | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) I think the general direction should rather be to change the PCI subsystem to make it possible for those drivers to be built as modules. However, since this is quite certainly a much larger effort, there is no reason to not clean things up as they are today, so: Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2015-12-14 10:00 +0100 |
| Message-ID | <qFx98-3Lg-9@gated-at.bofh.it> |
| In reply to | #1290523 |
On Saturday 12 December 2015 20:41:50 Paul Gortmaker wrote: > The Kconfig currently controlling compilation of this code is: > > drivers/pci/host/Kconfig:config PCI_MVEBU > drivers/pci/host/Kconfig: bool "Marvell EBU PCIe controller" > > ...meaning that it currently is not being built as a module by anyone. Here too. I think we should really try to let all PCI host drivers be loadable modules if possible. The module unload path is currently a bit iffy because of the way it interacts with the arch/arm PCI infrastructure, but we are in the process of fixing it. For now, I think allowing all PCIe host drivers for ARM to be loadable but non-removably modules would be ideal. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web