media: Add dependency of ov7670/mcam/cafe on CONFIG_V4L2_ASYNC explicitly

Message ID 20240214113830.3656367-1-dawei.li@shingroup.cn
State New
Headers
Series media: Add dependency of ov7670/mcam/cafe on CONFIG_V4L2_ASYNC explicitly |

Commit Message

Dawei Li Feb. 14, 2024, 11:38 a.m. UTC
  Kernel test robot reports:
   ld: drivers/media/i2c/ov7670.o: in function `ov7670_remove':
   drivers/media/i2c/ov7670.c:2011: undefined reference to
   `v4l2_async_unregister_subdev'
   ld: drivers/media/i2c/ov7670.o: in function `ov7670_parse_dt':
   drivers/media/i2c/ov7670.c:1836: undefined reference to
   `v4l2_fwnode_endpoint_parse'
   ld: drivers/media/i2c/ov7670.o: in function `ov7670_probe':
   drivers/media/i2c/ov7670.c:1990: undefined reference to
   `v4l2_async_register_subdev'
   ld: drivers/media/platform/marvell/cafe-driver.o: in function
   `cafe_pci_probe':
>> drivers/media/platform/marvell/cafe-driver.c:543: undefined reference
   to `v4l2_async_nf_init'
>> ld: drivers/media/platform/marvell/cafe-driver.c:545: undefined
   reference to `__v4l2_async_nf_add_i2c'
   ld: drivers/media/platform/marvell/mcam-core.o: in function
   `mccic_shutdown':
>> drivers/media/platform/marvell/mcam-core.c:1931: undefined reference to
   `v4l2_async_nf_unregister'
>> ld: drivers/media/platform/marvell/mcam-core.c:1932: undefined reference
   to `v4l2_async_nf_cleanup'
   ld: drivers/media/platform/marvell/mcam-core.o: in function
   `mccic_register':
   drivers/media/platform/marvell/mcam-core.c:1910: undefined reference to
   `v4l2_async_nf_unregister'
   ld: drivers/media/platform/marvell/mcam-core.c:1911: undefined reference
   to `v4l2_async_nf_cleanup'
>> ld: drivers/media/platform/marvell/mcam-core.c:1873: undefined reference
   to `v4l2_async_nf_register'

Add explicit dependency on CONFIG_V4L2_ASYNC to mute ld errors.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202402130955.f6uxzdCA-lkp@intel.com/
Signed-off-by: Dawei Li <dawei.li@shingroup.cn>
---
 drivers/media/i2c/Kconfig              | 1 +
 drivers/media/platform/marvell/Kconfig | 2 ++
 2 files changed, 3 insertions(+)
  

Comments

Hans Verkuil Feb. 14, 2024, 12:51 p.m. UTC | #1
On 14/02/2024 12:38, Dawei Li wrote:
> Kernel test robot reports:
>    ld: drivers/media/i2c/ov7670.o: in function `ov7670_remove':
>    drivers/media/i2c/ov7670.c:2011: undefined reference to
>    `v4l2_async_unregister_subdev'
>    ld: drivers/media/i2c/ov7670.o: in function `ov7670_parse_dt':
>    drivers/media/i2c/ov7670.c:1836: undefined reference to
>    `v4l2_fwnode_endpoint_parse'
>    ld: drivers/media/i2c/ov7670.o: in function `ov7670_probe':
>    drivers/media/i2c/ov7670.c:1990: undefined reference to
>    `v4l2_async_register_subdev'
>    ld: drivers/media/platform/marvell/cafe-driver.o: in function
>    `cafe_pci_probe':
>>> drivers/media/platform/marvell/cafe-driver.c:543: undefined reference
>    to `v4l2_async_nf_init'
>>> ld: drivers/media/platform/marvell/cafe-driver.c:545: undefined
>    reference to `__v4l2_async_nf_add_i2c'
>    ld: drivers/media/platform/marvell/mcam-core.o: in function
>    `mccic_shutdown':
>>> drivers/media/platform/marvell/mcam-core.c:1931: undefined reference to
>    `v4l2_async_nf_unregister'
>>> ld: drivers/media/platform/marvell/mcam-core.c:1932: undefined reference
>    to `v4l2_async_nf_cleanup'
>    ld: drivers/media/platform/marvell/mcam-core.o: in function
>    `mccic_register':
>    drivers/media/platform/marvell/mcam-core.c:1910: undefined reference to
>    `v4l2_async_nf_unregister'
>    ld: drivers/media/platform/marvell/mcam-core.c:1911: undefined reference
>    to `v4l2_async_nf_cleanup'
>>> ld: drivers/media/platform/marvell/mcam-core.c:1873: undefined reference
>    to `v4l2_async_nf_register'
> 
> Add explicit dependency on CONFIG_V4L2_ASYNC to mute ld errors.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202402130955.f6uxzdCA-lkp@intel.com/
> Signed-off-by: Dawei Li <dawei.li@shingroup.cn>

This is a duplicate of:

https://patchwork.linuxtv.org/project/linux-media/patch/20240213095555.454392-1-arnd@kernel.org/

The ov7670 undefined reference has been resolved quite some time ago, this
kernel test robot build is from a 6 months old tree.

I'll take Arnd's patch instead of yours.

Regards,

	Hans

> ---
>  drivers/media/i2c/Kconfig              | 1 +
>  drivers/media/platform/marvell/Kconfig | 2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
> index 4c3435921f19..453cb4b81d6f 100644
> --- a/drivers/media/i2c/Kconfig
> +++ b/drivers/media/i2c/Kconfig
> @@ -523,6 +523,7 @@ config VIDEO_OV7640
>  	  module will be called ov7640.
>  
>  config VIDEO_OV7670
> +	select V4L2_ASYNC
>  	tristate "OmniVision OV7670 sensor support"
>  	help
>  	  This is a Video4Linux2 sensor driver for the OmniVision
> diff --git a/drivers/media/platform/marvell/Kconfig b/drivers/media/platform/marvell/Kconfig
> index d6499ffe30e8..48f5484478a0 100644
> --- a/drivers/media/platform/marvell/Kconfig
> +++ b/drivers/media/platform/marvell/Kconfig
> @@ -11,6 +11,7 @@ config VIDEO_CAFE_CCIC
>  	select VIDEOBUF2_VMALLOC
>  	select VIDEOBUF2_DMA_CONTIG
>  	select VIDEOBUF2_DMA_SG
> +	select V4L2_ASYNC
>  	help
>  	  This is a video4linux2 driver for the Marvell 88ALP01 integrated
>  	  CMOS camera controller.  This is the controller found on first-
> @@ -27,6 +28,7 @@ config VIDEO_MMP_CAMERA
>  	select VIDEOBUF2_VMALLOC
>  	select VIDEOBUF2_DMA_CONTIG
>  	select VIDEOBUF2_DMA_SG
> +	select V4L2_ASYNC
>  	help
>  	  This is a Video4Linux2 driver for the integrated camera
>  	  controller found on Marvell Armada 610 application
  

Patch

diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
index 4c3435921f19..453cb4b81d6f 100644
--- a/drivers/media/i2c/Kconfig
+++ b/drivers/media/i2c/Kconfig
@@ -523,6 +523,7 @@  config VIDEO_OV7640
 	  module will be called ov7640.
 
 config VIDEO_OV7670
+	select V4L2_ASYNC
 	tristate "OmniVision OV7670 sensor support"
 	help
 	  This is a Video4Linux2 sensor driver for the OmniVision
diff --git a/drivers/media/platform/marvell/Kconfig b/drivers/media/platform/marvell/Kconfig
index d6499ffe30e8..48f5484478a0 100644
--- a/drivers/media/platform/marvell/Kconfig
+++ b/drivers/media/platform/marvell/Kconfig
@@ -11,6 +11,7 @@  config VIDEO_CAFE_CCIC
 	select VIDEOBUF2_VMALLOC
 	select VIDEOBUF2_DMA_CONTIG
 	select VIDEOBUF2_DMA_SG
+	select V4L2_ASYNC
 	help
 	  This is a video4linux2 driver for the Marvell 88ALP01 integrated
 	  CMOS camera controller.  This is the controller found on first-
@@ -27,6 +28,7 @@  config VIDEO_MMP_CAMERA
 	select VIDEOBUF2_VMALLOC
 	select VIDEOBUF2_DMA_CONTIG
 	select VIDEOBUF2_DMA_SG
+	select V4L2_ASYNC
 	help
 	  This is a Video4Linux2 driver for the integrated camera
 	  controller found on Marvell Armada 610 application