[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4d8a9786-ee4b-43b8-9207-e048c66349fe@ti.com>
Date: Mon, 14 Oct 2024 09:56:11 -0500
From: Andrew Davis <afd@...com>
To: Arnd Bergmann <arnd@...nel.org>, Bjorn Andersson <andersson@...nel.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Martyn Welch
<martyn.welch@...labora.com>,
Hari Nagalla <hnagalla@...com>, Jassi Brar
<jassisinghbrar@...il.com>,
Arnd Bergmann <arnd@...db.de>
CC: <linux-remoteproc@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] mailbox, remoteproc: k3-m4+: fix compile testing
On 10/7/24 8:23 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
>
> The k3-m4 remoteproc driver was merged with incorrect dependencies.
> Despite multiple people trying to fix this, the version 6.12-rc2
> remains broken and causes a build failure with CONFIG_TI_SCI_PROTOCOL=m
> when the driver is built-in.
>
> arm-linux-gnueabi-ld: drivers/remoteproc/ti_k3_m4_remoteproc.o: in function `k3_m4_rproc_probe':
> ti_k3_m4_remoteproc.c:(.text.k3_m4_rproc_probe+0x76): undefined reference to `devm_ti_sci_get_by_phandle'
>
> Fix the dependency again to make it work in all configurations.
> The 'select OMAP2PLUS_MBOX' no longer matches what the other drivers
> dependencies. The link failure can be avoided with a simple 'depends
> do, so turn that into the same 'depends' to ensure we get no circular
> on TI_SCI_PROTOCOL', but the extra COMPILE_TEST alternative is what
> we use elsehwere. On the other hand, building for OMAP2PLUS makes
> no sense since the hardware only exists on K3.
>
> Fixes: ebcf9008a895 ("remoteproc: k3-m4: Add a remoteproc driver for M4F subsystem")
> Fixes: ba0c0cb56f22 ("remoteproc: k3-m4: use the proper dependencies")
> Fixes: 54595f2807d2 ("mailbox, remoteproc: omap2+: fix compile testing")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
> drivers/remoteproc/Kconfig | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
> index 955e4e38477e..62f8548fb46a 100644
> --- a/drivers/remoteproc/Kconfig
> +++ b/drivers/remoteproc/Kconfig
> @@ -341,9 +341,9 @@ config TI_K3_DSP_REMOTEPROC
>
> config TI_K3_M4_REMOTEPROC
> tristate "TI K3 M4 remoteproc support"
> - depends on ARCH_OMAP2PLUS || ARCH_K3
> - select MAILBOX
> - select OMAP2PLUS_MBOX
> + depends on ARCH_K3 || COMPILE_TEST
> + depends on TI_SCI_PROTOCOL || (COMPILE_TEST && TI_SCI_PROTOCOL=n)
This line is odd. IMHO "COMPILE_TEST" should only be added to ARCH_*
dependencies, as often only one ARCH can be selected which prevents
compile testing drivers with various multiple architecture deps in
one compile test.
Normal dependencies, on the other hand, can simply be enabled if one
wants to compile test its dependent drivers. In this case, TI_SCI_PROTOCOL
cannot be enabled as it has a dependency up the chain that doesn't
allow selecting when not on a TI platform. We can fix that as I posted
here[0]. With that fix in, this line can be simply become:
depends on TI_SCI_PROTOCOL
Andrew
[0] https://lore.kernel.org/lkml/20241014144821.15094-1-afd@ti.com/
> + depends on OMAP2PLUS_MBOX
> help
> Say m here to support TI's M4 remote processor subsystems
> on various TI K3 family of SoCs through the remote processor
Powered by blists - more mailing lists