This is another group of commits that was chosen since they really don't
change anything even at a binary object file level ; they just replace
module_init with device_initcall (which are identical), and remove some
MODULE_<blah> tags that are no-ops in code. So the run time regression
risk is zero here.
More specifically, we are doing the following to these PCI files that
currently can only be built-in:
-- remove the include of module.h ; replace it with init.h as req'd
-- drop instances of MODULE_DEVICE_TABLE which is a no-op built-in.
-- replace module_init (if present) with device_initcall, which is
functionally identical once CPP has processed the source.
-- drop instances of MODULE_LICENSE, MODULE_AUTHOR, MODULE_DESCRIPTION
while ensuring the contained info is present in the file comments.
Build tested for allmodconfig on several arch, including ARM and ARM-64
on a recent linux-next baseline.
Some non-modular PCI files still remain with unused __exit and/or .remove
functions. Those will be dealt with in a separate series after this.
Also note that we looked into modularizing some of the PCI_DW stuff at
an earlier time[1] but that ran into problems such as trying to create
unwind for hook_fault_code etc. that wasn't easily solved. So we just
go with keeping the code runtime functionally equivalent to what it was.
Paul.
[1]
https://lkml.kernel.org/r/[email protected]
---
Cc: Bjorn Helgaas <[email protected]>
Cc: Jingoo Han <[email protected]>
Cc: Krzysztof Kozlowski <[email protected]>
Cc: Kukjin Kim <[email protected]>
Cc: Ley Foon Tan <[email protected]>
Cc: Lucas Stach <[email protected]>
Cc: Pratyush Anand <[email protected]>
Cc: Richard Zhu <[email protected]>
Cc: Tom Long Nguyen <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Paul Gortmaker (8):
PCI: altera: make msi explicitly non-modular
PCI: altera: make it explicitly non-modular
PCI: imx6: make it explicitly non-modular
PCI: portdrv: make it explicitly non-modular
PCI: spear13xx: make it explicitly non-modular
PCI: designware: make host support explicitly non-modular
PCI: exynos: make host support explicitly non-modular
PCI: generic: make host-common explicitly non-modular
drivers/pci/host/pci-exynos.c | 7 +------
drivers/pci/host/pci-host-common.c | 7 ++-----
drivers/pci/host/pci-imx6.c | 9 +--------
drivers/pci/host/pcie-altera-msi.c | 10 +++++-----
drivers/pci/host/pcie-altera.c | 12 +++++-------
drivers/pci/host/pcie-designware.c | 5 -----
drivers/pci/host/pcie-spear13xx.c | 11 ++---------
drivers/pci/pcie/portdrv_pci.c | 8 +-------
8 files changed, 17 insertions(+), 52 deletions(-)
--
2.8.4