2020-12-03 22:41:24

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] staging: bcm2835: fix vchiq_mmal dependencies

From: Arnd Bergmann <[email protected]>

When the MMAL code is built-in but the vchiq core config is
set to =m, the mmal code never gets built, which in turn can
lead to link errors:

ERROR: modpost: "vchiq_mmal_port_set_format" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_port_disable" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_port_parameter_set" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_component_finalise" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_port_connect_tunnel" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_component_enable" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_finalise" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_component_init" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_component_disable" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "mmal_vchi_buffer_init" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_port_enable" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_version" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_submit_buffer" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_init" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "mmal_vchi_buffer_cleanup" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
ERROR: modpost: "vchiq_mmal_port_parameter_get" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!

Change the Kconfig to depend on BCM2835_VCHIQ like the other drivers,
and remove the now redundant dependencies.

Fixes: b18ee53ad297 ("staging: bcm2835: Break MMAL support out from camera")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/staging/vc04_services/vchiq-mmal/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/vc04_services/vchiq-mmal/Kconfig b/drivers/staging/vc04_services/vchiq-mmal/Kconfig
index 500c0d12e4ff..c99525a0bb45 100644
--- a/drivers/staging/vc04_services/vchiq-mmal/Kconfig
+++ b/drivers/staging/vc04_services/vchiq-mmal/Kconfig
@@ -1,6 +1,6 @@
config BCM2835_VCHIQ_MMAL
tristate "BCM2835 MMAL VCHIQ service"
- depends on (ARCH_BCM2835 || COMPILE_TEST)
+ depends on BCM2835_VCHIQ
help
Enables the MMAL API over VCHIQ interface as used for the
majority of the multimedia services on VideoCore.
--
2.27.0


2020-12-04 10:48:58

by jacopo mondi

[permalink] [raw]
Subject: Re: [PATCH] staging: bcm2835: fix vchiq_mmal dependencies

Hi Arnd,

On Thu, Dec 03, 2020 at 11:38:30PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> When the MMAL code is built-in but the vchiq core config is
> set to =m, the mmal code never gets built, which in turn can
> lead to link errors:

My bad, I repetedly ignored the error report received from the 'kernel
test robot' about this. Thanks for fixing.

For my eduction, why would the vchiq-mmal code not get build if
vchiq-core is set to M ? I mean, that configuration is indeed wrong,
as vchiq-mmal uses symbols from vchiq-core and I would expect that to
fail when building the kernel image, not have the other modules (as
bcm2835-camera) fail as a consequence when building modules.

>
> ERROR: modpost: "vchiq_mmal_port_set_format" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_disable" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_parameter_set" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_component_finalise" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_connect_tunnel" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_component_enable" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_finalise" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_component_init" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_component_disable" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "mmal_vchi_buffer_init" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_enable" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_version" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_submit_buffer" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_init" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "mmal_vchi_buffer_cleanup" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_parameter_get" [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
>
> Change the Kconfig to depend on BCM2835_VCHIQ like the other drivers,
> and remove the now redundant dependencies.
>
> Fixes: b18ee53ad297 ("staging: bcm2835: Break MMAL support out from camera")
> Signed-off-by: Arnd Bergmann <[email protected]>

Acked-by: Jacopo Mondi <[email protected]>

If you noticed this from the same error notification I recevied it
might be fair to report:
Reported-by: kernel test robot <[email protected]>

Thanks
j

> ---
> drivers/staging/vc04_services/vchiq-mmal/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/vc04_services/vchiq-mmal/Kconfig b/drivers/staging/vc04_services/vchiq-mmal/Kconfig
> index 500c0d12e4ff..c99525a0bb45 100644
> --- a/drivers/staging/vc04_services/vchiq-mmal/Kconfig
> +++ b/drivers/staging/vc04_services/vchiq-mmal/Kconfig
> @@ -1,6 +1,6 @@
> config BCM2835_VCHIQ_MMAL
> tristate "BCM2835 MMAL VCHIQ service"
> - depends on (ARCH_BCM2835 || COMPILE_TEST)
> + depends on BCM2835_VCHIQ
> help
> Enables the MMAL API over VCHIQ interface as used for the
> majority of the multimedia services on VideoCore.
> --
> 2.27.0
>

2020-12-04 12:52:48

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] staging: bcm2835: fix vchiq_mmal dependencies

On Fri, Dec 4, 2020 at 11:44 AM Jacopo Mondi <[email protected]> wrote:
>
> Hi Arnd,
>
> On Thu, Dec 03, 2020 at 11:38:30PM +0100, Arnd Bergmann wrote:
> > From: Arnd Bergmann <[email protected]>
> >
> > When the MMAL code is built-in but the vchiq core config is
> > set to =m, the mmal code never gets built, which in turn can
> > lead to link errors:
>
> My bad, I repetedly ignored the error report received from the 'kernel
> test robot' about this. Thanks for fixing.
>
> For my eduction, why would the vchiq-mmal code not get build if
> vchiq-core is set to M ? I mean, that configuration is indeed wrong,
> as vchiq-mmal uses symbols from vchiq-core and I would expect that to
> fail when building the kernel image, not have the other modules (as
> bcm2835-camera) fail as a consequence when building modules.


drivers/staging/Makefile has this line:

obj-$(CONFIG_BCM2835_VCHIQ) += vc04_services/

when CONFIG_BCM2835_VCHIQ=m, the kbuild infrastructure
only enters the subdirectory while building modules, but a built-in
mmal driver is not a loadable module, so it does not get built
at that time. When compiling the built-in code, the subdirectory is
not entered.

> > Fixes: b18ee53ad297 ("staging: bcm2835: Break MMAL support out from camera")
> > Signed-off-by: Arnd Bergmann <[email protected]>
>
> Acked-by: Jacopo Mondi <[email protected]>
>
> If you noticed this from the same error notification I recevied it
> might be fair to report:
> Reported-by: kernel test robot <[email protected]>

I had not seen that report but found it during my own testing,
thanks for adding.

Arnd

2020-12-04 13:46:45

by jacopo mondi

[permalink] [raw]
Subject: Re: [PATCH] staging: bcm2835: fix vchiq_mmal dependencies

Hi Arnd,

On Fri, Dec 04, 2020 at 01:49:39PM +0100, Arnd Bergmann wrote:
> On Fri, Dec 4, 2020 at 11:44 AM Jacopo Mondi <[email protected]> wrote:
> >
> > Hi Arnd,
> >
> > On Thu, Dec 03, 2020 at 11:38:30PM +0100, Arnd Bergmann wrote:
> > > From: Arnd Bergmann <[email protected]>
> > >
> > > When the MMAL code is built-in but the vchiq core config is
> > > set to =m, the mmal code never gets built, which in turn can
> > > lead to link errors:
> >
> > My bad, I repetedly ignored the error report received from the 'kernel
> > test robot' about this. Thanks for fixing.
> >
> > For my eduction, why would the vchiq-mmal code not get build if
> > vchiq-core is set to M ? I mean, that configuration is indeed wrong,
> > as vchiq-mmal uses symbols from vchiq-core and I would expect that to
> > fail when building the kernel image, not have the other modules (as
> > bcm2835-camera) fail as a consequence when building modules.
>
>
> drivers/staging/Makefile has this line:

My bad, I only looked into drivers/staging/vc04_services/

>
> obj-$(CONFIG_BCM2835_VCHIQ) += vc04_services/
>
> when CONFIG_BCM2835_VCHIQ=m, the kbuild infrastructure
> only enters the subdirectory while building modules, but a built-in
> mmal driver is not a loadable module, so it does not get built
> at that time. When compiling the built-in code, the subdirectory is
> not entered.

Thanks, all clear now!

>
> > > Fixes: b18ee53ad297 ("staging: bcm2835: Break MMAL support out from camera")
> > > Signed-off-by: Arnd Bergmann <[email protected]>
> >
> > Acked-by: Jacopo Mondi <[email protected]>
> >
> > If you noticed this from the same error notification I recevied it
> > might be fair to report:
> > Reported-by: kernel test robot <[email protected]>
>
> I had not seen that report but found it during my own testing,
> thanks for adding.
>
> Arnd