Re: [PATCH 04/14] PCI: generic: make it explicitly non-modular

From: David Daney
Date: Tue Jul 05 2016 - 18:53:46 EST


On 07/04/2016 10:37 AM, Will Deacon wrote:
On Sat, Jul 02, 2016 at 07:13:24PM -0400, Paul Gortmaker wrote:
The Kconfig currently controlling compilation of this code is:

drivers/pci/host/Kconfig:config PCI_HOST_GENERIC
drivers/pci/host/Kconfig: bool "Generic PCI host controller"

...meaning that it currently is not being built as a module by anyone.

Lets remove the few trace uses of modular code and macros, 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.

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
is already contained at the top of the file in the comments.

Ideally, we'd simply fix this to build as a module, but it's not clear
how to do that now that the ecam accessors have been split out into
their own file. A liberal sprinkling of EXPORT_SYMBOL might work, but
it's a bit grotty.

David, Jayachandran -- do you have any desire to build your PCI host
controller drivers as modules?

I can only speak to the Cavium case.

The system is not usable without PCI, so there is no advantage to making the PCI host drivers modular. At this point I don't see any reason to expend effort making it work as a module.

David.



Will