Re: [PATCH 2/2] PCI: Drop controller CONFIG_OF dependencies
From: Pali Rohár <pali@kernel.org>
Date: 2022-11-15 21:04:21
Also in:
linux-pci, lkml
On Tuesday 15 November 2022 14:53:43 Bjorn Helgaas wrote:
On Tue, Nov 15, 2022 at 08:31:55PM +0100, Pali Rohár wrote:quoted
On Tuesday 15 November 2022 12:07:34 Bjorn Helgaas wrote:quoted
On Tue, Nov 15, 2022 at 04:56:10PM +0100, Geert Uytterhoeven wrote:quoted
On Tue, Oct 25, 2022 at 9:16 PM Bjorn Helgaas [off-list ref] wrote:quoted
From: Bjorn Helgaas <bhelgaas@google.com> Many drivers depend on OF interfaces, so they won't be functional if CONFIG_OF is not set. But OF provides stub functions in that case, so drop the OF dependencies so we can at least compile-test the drivers.quoted
quoted
--- a/drivers/pci/controller/Kconfig +++ b/drivers/pci/controller/Kconfig@@ -8,7 +8,6 @@ config PCI_MVEBU depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST depends on MVEBU_MBUS depends on ARM - depends on OFThis is exactly why we have the COMPILE_TEST symbol. There is no point in bothering all users who configure kernels with questions about drivers that won't function anyway due to missing dependencies, unless the user explicitly wants to do compile-testing. So all of these should become: depends on OF || COMPILE_TESTOh, yes, thanks for pointing this out, I totally blew it here. I dropped this while we figure it out.I agree too, it really makes sense to not provide pci-mvebu driver to end users without OF - it would not work. Anyway, it is needed to declare "depends on ARM" for pci-mvebu? Both supported architectures (mvebu and dove) are ARM.If you're asking whether "depends on ARM" can be removed for PCI_MVEBU, I don't know the answer. I do see that CONFIG_ARCH_MVEBU is mentioned in arch/arm64, which doesn't seem to set CONFIG_ARM.
Ou, you are right. Correct interpretation is "depends on 32-bit mvebu". And because ARCH_MVEBU means "32-bit mvebu OR 64-bit mvebu" there is additional "depends on ARM" to filter-out 64-bit mvebu. So _architecture_ dependency based on intention should be: (ARCH_MVEBU && ARM) || ARCH_DOVE || COMPILE_TEST But because there is no 64-bit Dove, it has same meaning as moving ARM from inner conjunction to outer. I do not know which syntax is better. So choose what you prefer (current version or some modification).
In any event, I would consider a change like that to be a separate patch. Here I just want to focus on CONFIG_OF. Bjorn
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel