On Mon, Oct 14, 2024 at 09:56:11AM -0500, Andrew Davis wrote: > On 10/7/24 8:23 AM, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@xxxxxxxx> > > > > 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@xxxxxxxx> > > --- > > 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