drivers/mailbox/Kconfig | 2 +- drivers/mailbox/omap-mailbox.c | 2 +- drivers/remoteproc/Kconfig | 10 ++++------ 3 files changed, 6 insertions(+), 8 deletions(-)
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
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 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
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 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, 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 >
© 2016 - 2024 Red Hat, Inc.