From: Nicolas Frayer <nfrayer@baylibre.com>
Added module build support in Kconfig for the TI SCI interrupt aggregator
driver. The driver's default build is built-in and it also depends on
ARCH_K3 as the driver uses some 64 bit ops and should only be built
for 64 bit platforms.
Signed-off-by: Nicolas Frayer <nfrayer@baylibre.com>
Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
---
arch/arm64/Kconfig.platforms | 1 -
drivers/irqchip/Kconfig | 5 +++--
drivers/irqchip/irq-ti-sci-inta.c | 1 +
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 393845a3ae5c..9dea47decfbd 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -135,7 +135,6 @@ config ARCH_K3
select SOC_TI
select TI_MESSAGE_MANAGER
select TI_SCI_PROTOCOL
- select TI_SCI_INTA_IRQCHIP
select TI_K3_SOCINFO
help
This enables support for Texas Instruments' K3 multicore SoC
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index a958731404e9..9646322345e4 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -544,10 +544,11 @@ config TI_SCI_INTR_IRQCHIP
TI System Controller, say Y here. Otherwise, say N.
config TI_SCI_INTA_IRQCHIP
- bool
- depends on TI_SCI_PROTOCOL
+ tristate "TI SCI INTA Interrupt Controller"
+ depends on ARCH_K3 && TI_SCI_PROTOCOL
select IRQ_DOMAIN_HIERARCHY
select TI_SCI_INTA_MSI_DOMAIN
+ default ARCH_K3
help
This enables the irqchip driver support for K3 Interrupt aggregator
over TI System Control Interface available on some new TI's SoCs.
diff --git a/drivers/irqchip/irq-ti-sci-inta.c b/drivers/irqchip/irq-ti-sci-inta.c
index b83f5cbab123..a887efba262c 100644
--- a/drivers/irqchip/irq-ti-sci-inta.c
+++ b/drivers/irqchip/irq-ti-sci-inta.c
@@ -743,3 +743,4 @@ module_platform_driver(ti_sci_inta_irq_domain_driver);
MODULE_AUTHOR("Lokesh Vutla <lokeshvutla@ti.com>");
MODULE_DESCRIPTION("K3 Interrupt Aggregator driver over TI SCI protocol");
+MODULE_LICENSE("GPL");
--
2.34.1
On 10/16/24 4:41 AM, Guillaume La Roque wrote:
> From: Nicolas Frayer <nfrayer@baylibre.com>
>
> Added module build support in Kconfig for the TI SCI interrupt aggregator
> driver. The driver's default build is built-in and it also depends on
> ARCH_K3 as the driver uses some 64 bit ops and should only be built
> for 64 bit platforms.
>
> Signed-off-by: Nicolas Frayer <nfrayer@baylibre.com>
> Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
> ---
> arch/arm64/Kconfig.platforms | 1 -
> drivers/irqchip/Kconfig | 5 +++--
> drivers/irqchip/irq-ti-sci-inta.c | 1 +
> 3 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 393845a3ae5c..9dea47decfbd 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -135,7 +135,6 @@ config ARCH_K3
> select SOC_TI
> select TI_MESSAGE_MANAGER
> select TI_SCI_PROTOCOL
> - select TI_SCI_INTA_IRQCHIP
> select TI_K3_SOCINFO
> help
> This enables support for Texas Instruments' K3 multicore SoC
> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> index a958731404e9..9646322345e4 100644
> --- a/drivers/irqchip/Kconfig
> +++ b/drivers/irqchip/Kconfig
> @@ -544,10 +544,11 @@ config TI_SCI_INTR_IRQCHIP
> TI System Controller, say Y here. Otherwise, say N.
>
> config TI_SCI_INTA_IRQCHIP
> - bool
> - depends on TI_SCI_PROTOCOL
> + tristate "TI SCI INTA Interrupt Controller"
> + depends on ARCH_K3 && TI_SCI_PROTOCOL
You can still compile test, just gate it on 64BIT (or ARM64 if those
64bit ops are only available on ARM64).
depends on ARCH_K3 || (COMPILE_TEST && ARM64)
BTW, the last time this was posted the feedback was that if this
was compiled as a module we might have issues with dependent drivers
not having this IRQ ready as it may be loaded later. I think this
would only cause probe defers if the drivers are well behaving, but
something to double check.
Andrew
> select IRQ_DOMAIN_HIERARCHY
> select TI_SCI_INTA_MSI_DOMAIN
> + default ARCH_K3
> help
> This enables the irqchip driver support for K3 Interrupt aggregator
> over TI System Control Interface available on some new TI's SoCs.
> diff --git a/drivers/irqchip/irq-ti-sci-inta.c b/drivers/irqchip/irq-ti-sci-inta.c
> index b83f5cbab123..a887efba262c 100644
> --- a/drivers/irqchip/irq-ti-sci-inta.c
> +++ b/drivers/irqchip/irq-ti-sci-inta.c
> @@ -743,3 +743,4 @@ module_platform_driver(ti_sci_inta_irq_domain_driver);
>
> MODULE_AUTHOR("Lokesh Vutla <lokeshvutla@ti.com>");
> MODULE_DESCRIPTION("K3 Interrupt Aggregator driver over TI SCI protocol");
> +MODULE_LICENSE("GPL");
>
Le 16/10/2024 à 15:48, Andrew Davis a écrit :
> On 10/16/24 4:41 AM, Guillaume La Roque wrote:
>> From: Nicolas Frayer <nfrayer@baylibre.com>
>>
>> Added module build support in Kconfig for the TI SCI interrupt
>> aggregator
>> driver. The driver's default build is built-in and it also depends on
>> ARCH_K3 as the driver uses some 64 bit ops and should only be built
>> for 64 bit platforms.
>>
>> Signed-off-by: Nicolas Frayer <nfrayer@baylibre.com>
>> Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
>> ---
>> arch/arm64/Kconfig.platforms | 1 -
>> drivers/irqchip/Kconfig | 5 +++--
>> drivers/irqchip/irq-ti-sci-inta.c | 1 +
>> 3 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index 393845a3ae5c..9dea47decfbd 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -135,7 +135,6 @@ config ARCH_K3
>> select SOC_TI
>> select TI_MESSAGE_MANAGER
>> select TI_SCI_PROTOCOL
>> - select TI_SCI_INTA_IRQCHIP
>> select TI_K3_SOCINFO
>> help
>> This enables support for Texas Instruments' K3 multicore SoC
>> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
>> index a958731404e9..9646322345e4 100644
>> --- a/drivers/irqchip/Kconfig
>> +++ b/drivers/irqchip/Kconfig
>> @@ -544,10 +544,11 @@ config TI_SCI_INTR_IRQCHIP
>> TI System Controller, say Y here. Otherwise, say N.
>> config TI_SCI_INTA_IRQCHIP
>> - bool
>> - depends on TI_SCI_PROTOCOL
>> + tristate "TI SCI INTA Interrupt Controller"
>> + depends on ARCH_K3 && TI_SCI_PROTOCOL
>
> You can still compile test, just gate it on 64BIT (or ARM64 if those
> 64bit ops are only available on ARM64).
>
> depends on ARCH_K3 || (COMPILE_TEST && ARM64)
>
> BTW, the last time this was posted the feedback was that if this
> was compiled as a module we might have issues with dependent drivers
> not having this IRQ ready as it may be loaded later. I think this
> would only cause probe defers if the drivers are well behaving, but
> something to double check.
we already use this patch in android kernel mainline and 6.6 without
issue to load all drivers.
i will try with your yocto sdk before post v4 to confirm it's still OK.
Guillaume
>
> Andrew
>
>> select IRQ_DOMAIN_HIERARCHY
>> select TI_SCI_INTA_MSI_DOMAIN
>> + default ARCH_K3
>> help
>> This enables the irqchip driver support for K3 Interrupt
>> aggregator
>> over TI System Control Interface available on some new TI's
>> SoCs.
>> diff --git a/drivers/irqchip/irq-ti-sci-inta.c
>> b/drivers/irqchip/irq-ti-sci-inta.c
>> index b83f5cbab123..a887efba262c 100644
>> --- a/drivers/irqchip/irq-ti-sci-inta.c
>> +++ b/drivers/irqchip/irq-ti-sci-inta.c
>> @@ -743,3 +743,4 @@
>> module_platform_driver(ti_sci_inta_irq_domain_driver);
>> MODULE_AUTHOR("Lokesh Vutla <lokeshvutla@ti.com>");
>> MODULE_DESCRIPTION("K3 Interrupt Aggregator driver over TI SCI
>> protocol");
>> +MODULE_LICENSE("GPL");
>>
© 2016 - 2026 Red Hat, Inc.