Message ID | 20240909203825.1666947-1-arnd@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mailbox, remoteproc: omap2+: fix compile testing | expand |
On Mon, Sep 09, 2024 at 08:38:09PM +0000, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > 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> > --- > drivers/mailbox/Kconfig | 2 +- > drivers/mailbox/omap-mailbox.c | 2 +- > drivers/remoteproc/Kconfig | 10 ++++------ For the remoteproc part: Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> > 3 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig > index 4eed97295927..ecaf78beb934 100644 > --- a/drivers/mailbox/Kconfig > +++ b/drivers/mailbox/Kconfig > @@ -73,7 +73,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 > diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap-mailbox.c > index 7a87424657a1..6797770474a5 100644 > --- a/drivers/mailbox/omap-mailbox.c > +++ b/drivers/mailbox/omap-mailbox.c > @@ -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); > diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig > index 0f0862e20a93..62f8548fb46a 100644 > --- a/drivers/remoteproc/Kconfig > +++ b/drivers/remoteproc/Kconfig > @@ -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,8 @@ config TI_K3_DSP_REMOTEPROC > config TI_K3_M4_REMOTEPROC > tristate "TI K3 M4 remoteproc support" > depends on ARCH_K3 || COMPILE_TEST > - select MAILBOX > - select OMAP2PLUS_MBOX > + depends on TI_SCI_PROTOCOL || (COMPILE_TEST && TI_SCI_PROTOCOL=n) > + 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 > @@ -356,8 +355,7 @@ config TI_K3_M4_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 > -- > 2.39.2 >
On 9/9/24 3:38 PM, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > 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> > --- > drivers/mailbox/Kconfig | 2 +- > drivers/mailbox/omap-mailbox.c | 2 +- > drivers/remoteproc/Kconfig | 10 ++++------ > 3 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig > index 4eed97295927..ecaf78beb934 100644 > --- a/drivers/mailbox/Kconfig > +++ b/drivers/mailbox/Kconfig > @@ -73,7 +73,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 > diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap-mailbox.c > index 7a87424657a1..6797770474a5 100644 > --- a/drivers/mailbox/omap-mailbox.c > +++ b/drivers/mailbox/omap-mailbox.c > @@ -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, We could have done this in its own series. Someday we need to check everywhere for of_match being unconditionally defined but still using of_match_ptr(). Coccinelle might help here.. Anyway, LGTM Reviewed-by: Andrew Davis <afd@ti.com> > }, > }; > module_platform_driver(omap_mbox_driver); > diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig > index 0f0862e20a93..62f8548fb46a 100644 > --- a/drivers/remoteproc/Kconfig > +++ b/drivers/remoteproc/Kconfig > @@ -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,8 @@ config TI_K3_DSP_REMOTEPROC > config TI_K3_M4_REMOTEPROC > tristate "TI K3 M4 remoteproc support" > depends on ARCH_K3 || COMPILE_TEST > - select MAILBOX > - select OMAP2PLUS_MBOX > + depends on TI_SCI_PROTOCOL || (COMPILE_TEST && TI_SCI_PROTOCOL=n) > + 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 > @@ -356,8 +355,7 @@ config TI_K3_M4_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
On Mon, 2024-09-09 at 20:38 +0000, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > 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> > --- > drivers/mailbox/Kconfig | 2 +- > drivers/mailbox/omap-mailbox.c | 2 +- > drivers/remoteproc/Kconfig | 10 ++++------ > 3 files changed, 6 insertions(+), 8 deletions(-) > Looks good to me: Reviewed-by: Martyn Welch <martyn.welch@collabora.com> > diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig > index 4eed97295927..ecaf78beb934 100644 > --- a/drivers/mailbox/Kconfig > +++ b/drivers/mailbox/Kconfig > @@ -73,7 +73,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 > diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap- > mailbox.c > index 7a87424657a1..6797770474a5 100644 > --- a/drivers/mailbox/omap-mailbox.c > +++ b/drivers/mailbox/omap-mailbox.c > @@ -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); > diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig > index 0f0862e20a93..62f8548fb46a 100644 > --- a/drivers/remoteproc/Kconfig > +++ b/drivers/remoteproc/Kconfig > @@ -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,8 @@ config TI_K3_DSP_REMOTEPROC > config TI_K3_M4_REMOTEPROC > tristate "TI K3 M4 remoteproc support" > depends on ARCH_K3 || COMPILE_TEST > - select MAILBOX > - select OMAP2PLUS_MBOX > + depends on TI_SCI_PROTOCOL || (COMPILE_TEST && > TI_SCI_PROTOCOL=n) > + 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 > @@ -356,8 +355,7 @@ config TI_K3_M4_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
On Mon, Sep 9, 2024 at 3:38 PM Arnd Bergmann <arnd@kernel.org> wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > 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> > --- > drivers/mailbox/Kconfig | 2 +- > drivers/mailbox/omap-mailbox.c | 2 +- > drivers/remoteproc/Kconfig | 10 ++++------ > 3 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig > index 4eed97295927..ecaf78beb934 100644 > --- a/drivers/mailbox/Kconfig > +++ b/drivers/mailbox/Kconfig > @@ -73,7 +73,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 > diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap-mailbox.c > index 7a87424657a1..6797770474a5 100644 > --- a/drivers/mailbox/omap-mailbox.c > +++ b/drivers/mailbox/omap-mailbox.c > @@ -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); > diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig > index 0f0862e20a93..62f8548fb46a 100644 > --- a/drivers/remoteproc/Kconfig > +++ b/drivers/remoteproc/Kconfig > @@ -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,8 @@ config TI_K3_DSP_REMOTEPROC > config TI_K3_M4_REMOTEPROC > tristate "TI K3 M4 remoteproc support" > depends on ARCH_K3 || COMPILE_TEST > - select MAILBOX > - select OMAP2PLUS_MBOX > + depends on TI_SCI_PROTOCOL || (COMPILE_TEST && TI_SCI_PROTOCOL=n) > + depends on OMAP2PLUS_MBOX > TI_K3_M4_REMOTEPROC isn't in the mainline yet so this fragment doesn't apply on my tree. I can drop just this and apply the rest of the patch, otherwise the patch may go via remoteproc. Let me know. Thanks -Jassi
diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig index 4eed97295927..ecaf78beb934 100644 --- a/drivers/mailbox/Kconfig +++ b/drivers/mailbox/Kconfig @@ -73,7 +73,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 diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap-mailbox.c index 7a87424657a1..6797770474a5 100644 --- a/drivers/mailbox/omap-mailbox.c +++ b/drivers/mailbox/omap-mailbox.c @@ -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); diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig index 0f0862e20a93..62f8548fb46a 100644 --- a/drivers/remoteproc/Kconfig +++ b/drivers/remoteproc/Kconfig @@ -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,8 @@ config TI_K3_DSP_REMOTEPROC config TI_K3_M4_REMOTEPROC tristate "TI K3 M4 remoteproc support" depends on ARCH_K3 || COMPILE_TEST - select MAILBOX - select OMAP2PLUS_MBOX + depends on TI_SCI_PROTOCOL || (COMPILE_TEST && TI_SCI_PROTOCOL=n) + 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 @@ -356,8 +355,7 @@ config TI_K3_M4_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