mailbox, remoteproc: omap2+: fix compile testing
authorArnd Bergmann <arnd@arndb.de>
Mon, 9 Sep 2024 20:38:09 +0000 (20:38 +0000)
committerJassi Brar <jassisinghbrar@gmail.com>
Fri, 27 Sep 2024 14:11:05 +0000 (09:11 -0500)
Selecting CONFIG_OMAP2PLUS_MBOX while compile testing
causes a build failure:

WARNING: unmet direct dependencies detected for OMAP2PLUS_MBOX
  Depends on [n]: MAILBOX [=y] && (ARCH_OMAP2PLUS || ARCH_K3)
  Selected by [m]:
  - TI_K3_M4_REMOTEPROC [=m] && REMOTEPROC [=y] && (ARCH_K3 || COMPILE_TEST [=y])

Using 'select' to force-enable another subsystem is generally
a mistake and causes problems such as this one, so change the
three drivers that link against this driver to use 'depends on'
instead, and ensure the driver itself can be compile tested
regardless of the platform.

When compile-testing without CONFIG_TI_SCI_PROTOCOL=m, there
is a chance for a link failure, so add a careful dependency
on that.

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'

Fixes: ebcf9008a895 ("remoteproc: k3-m4: Add a remoteproc driver for M4F subsystem")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Andrew Davis <afd@ti.com>
Reviewed-by: Martyn Welch <martyn.welch@collabora.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
drivers/mailbox/Kconfig
drivers/mailbox/omap-mailbox.c
drivers/remoteproc/Kconfig

index cbd9206cd7de34c5c4578f678cc8949d010410ad..6fb995778636a3c35fb91f489a682b24e8e17581 100644 (file)
@@ -74,7 +74,7 @@ config ARMADA_37XX_RWTM_MBOX
 
 config OMAP2PLUS_MBOX
        tristate "OMAP2+ Mailbox framework support"
-       depends on ARCH_OMAP2PLUS || ARCH_K3
+       depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
        help
          Mailbox implementation for OMAP family chips with hardware for
          interprocessor communication involving DSP, IVA1.0 and IVA2 in
index 7a87424657a158d91b3164114efc5271a247c129..6797770474a55d7dfe3ece61c3b97014a6e5b64f 100644 (file)
@@ -603,7 +603,7 @@ static struct platform_driver omap_mbox_driver = {
        .driver = {
                .name = "omap-mailbox",
                .pm = &omap_mbox_pm_ops,
-               .of_match_table = of_match_ptr(omap_mailbox_of_match),
+               .of_match_table = omap_mailbox_of_match,
        },
 };
 module_platform_driver(omap_mbox_driver);
index dda2ada215b7ceb2d5f0dc10363a0f04fa6b2489..7ab80fe511a76a0453a72d98107d780d6d817843 100644 (file)
@@ -330,8 +330,7 @@ config STM32_RPROC
 config TI_K3_DSP_REMOTEPROC
        tristate "TI K3 DSP remoteproc support"
        depends on ARCH_K3
-       select MAILBOX
-       select OMAP2PLUS_MBOX
+       depends on OMAP2PLUS_MBOX
        help
          Say m here to support TI's C66x and C71x DSP remote processor
          subsystems on various TI K3 family of SoCs through the remote
@@ -343,8 +342,7 @@ config TI_K3_DSP_REMOTEPROC
 config TI_K3_R5_REMOTEPROC
        tristate "TI K3 R5 remoteproc support"
        depends on ARCH_K3
-       select MAILBOX
-       select OMAP2PLUS_MBOX
+       depends on OMAP2PLUS_MBOX
        help
          Say m here to support TI's R5F remote processor subsystems
          on various TI K3 family of SoCs through the remote processor