Re: [PATCH v2] of: OF_IRQ: select IRQ_DOMAIN instead of depending on it
From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2024-02-14 17:23:27
Also in:
lkml
On Wed, Feb 14, 2024, at 17:35, Marc Zyngier wrote:
On Wed, 14 Feb 2024 16:06:06 +0000, "Arnd Bergmann" [off-list ref] wrote:quoted
On Wed, Feb 14, 2024, at 10:52, Marc Zyngier wrote:quoted
On Tue, 13 Feb 2024 22:56:19 +0000, Randy Dunlap [off-list ref] wrote:quoted
diff -- a/drivers/of/Kconfig b/drivers/of/Kconfig--- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig@@ -80,7 +80,8 @@ config OF_ADDRESS config OF_IRQ def_bool y - depends on !SPARC && IRQ_DOMAIN + depends on !SPARC + select IRQ_DOMAINThis seems to be moving is the right direction.Can we move the 'select IRQ_DOMAIN' under CONFIG_IRQCHIP then and remove the individual selects from the irqchip drivers? It looks like CONFIG_OF (other than sparc) now unconditionally enables OF_IRQ and IRQCHIP anyway.As long as it also works ACPI, it should be OK.
Out of the four architectures that have ACPI support (x86,
arm64, loongarch, rv64), only x86 doesn't always select
IRQ_DOMAIN already, and x86 selects it for almost all
configs:
config X86_UP_APIC
bool "Local APIC support on uniprocessors" if !PCI_MSI
default PCI_MSI
depends on X86_32 && !SMP && !X86_32_NON_STANDARD
config X86_LOCAL_APIC
def_bool y
depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI
select IRQ_DOMAIN_HIERARCHY
so it's only disabled here with
CONFIG_64BIT=n
CONFIG_SMP=n
CONFIG_X86_32_NON_STANDARD=n
CONFIG_ACPI=y
CONFIG_PCI=y (implied by ACPI)
CONFIG_PCI_MSI=n
As far as I can tell, this specific configuration is
currently able to save a little bit of kernel size
by avoiding IRQ_DOMAIN, but we are probably better off
enabling it here as well for consistency
Arnd