Re: [PATCH v3 2/2] PCI: qcom: Add support for modular builds
From: Johan Hovold
Date: Tue Oct 18 2022 - 11:11:17 EST
On Mon, Oct 17, 2022 at 12:34:22PM -0500, Bjorn Helgaas wrote:
> On Mon, Oct 17, 2022 at 01:47:05PM +0200, Johan Hovold wrote:
> > Allow the Qualcomm PCIe controller driver to be built as a module, which
> > is useful for multi-platform kernels as well as during development.
>
> There are two different goals here, and there's no real reason to
> bundle them together:
>
> 1) Make qcom a loadable module. This is a hard requirement so
> multi-platform kernels don't need to build in all drivers
> statically.
>
> 2) Make qcom unloadable. This is a high want, possibly even a
> requirement for developers, but is not really a big issue for
> users.
>
> There are different changes required: 1) requires the Kconfig change;
> 2) requires .remove() to be implemented. Since there's no requirement
> that these be done together, let's split them into separate patches.
>
> Then we can make sure that at least 1) gets done, and if for any
> reason 2) isn't safe or breaks something, we can at least bisect and
> if necessary revert it without losing 1).
Implementing 1) in itself requires more than simply splitting this
patch. And I don't think we should be making life harder for developers,
as well as users assisting during debugging, by going in that direction.
We have tons of modules in the kernel and very few that cannot be
unloaded. Anyone who doesn't trust root to not unload modules can
always disable unloading completely using CONFIG_MODULE_UNLOAD.
Johan