Thread (10 messages) 10 messages, 3 authors, 2022-11-15

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 OF
This 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_TEST
Oh, 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help