Re: [PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular
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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular
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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular
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 > Cc: Jason Cooper > Cc: Bjorn Helgaas > Cc: linux-...@vger.kernel.org > Cc: linux-arm-ker...@lists.infradead.org > Signed-off-by: Paul Gortmaker > --- > 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 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular
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> Cc: Jason Cooper > Cc: Bjorn Helgaas > Cc: linux-...@vger.kernel.org > Cc: linux-arm-ker...@lists.infradead.org > Signed-off-by: Paul Gortmaker > --- > 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 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular
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 Cc: Jason Cooper Cc: Bjorn Helgaas Cc: linux-...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Paul Gortmaker --- 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 + * * 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 #include #include -#include +#include #include #include #include @@ -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 "); -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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 03/10] drivers/pci: make host/pci-mvebu.c explicitly non-modular
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 PetazzoniCc: Jason Cooper Cc: Bjorn Helgaas Cc: linux-...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Signed-off-by: Paul Gortmaker --- 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 + * * 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 #include #include -#include +#include #include #include #include @@ -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 "); -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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/